[Jquey] parse xml jquery POST

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer met jquery via een asp pagina data weg te schrijven naar de database.De asp pagina geeft xml terug wat ik met jquery op de client weer wil parsen. Met de POST methode van jquery vind ik geen goede voorbeelden op het net (tenminste niet hoe ik xml terug krijg en dat kan parsen.

Mijn html ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function sayHello(){

    $.post('JqueryExample.asp',{},function(data){ 
                parseXml(data); 
                },'xml'); 
}

function parseXml(xml){
        $(xml).find('label').each(function() { 
                   var $label = $(this);
                   alert($label.attr('id');}
                   });
}


Mijn xml wordt zo opgebouwd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
sub CreateXML()
Response.contenttype = "text/xml" 
response.write("<?xml version='1.0' encoding='iso-8859-1'?>"&vbcrlf)
response.write("<labels>"&vbcrlf)
response.write("<label id='ep' added='2003-06-10'>"&vbcrlf)
response.write("<name>The name</name>"&vbcrlf)
response.write("<address>"&vbcrlf)
response.write("<street>45 Bryn Lane</street>"&vbcrlf)
response.write("<city>Hailey</city>"&vbcrlf)
response.write("<province>ID</province>"&vbcrlf)
response.write("</address>"&vbcrlf)
response.write("</label>"&vbcrlf)
response.write("<label id='tse' added='2003-06-20'>"&vbcrlf)
response.write("<name>Thomas Eliot</name>"&vbcrlf)
response.write("<address>"&vbcrlf)
response.write("<street>3 Prufrock Lane</street>"&vbcrlf)
response.write("<city>Stamford</city>"&vbcrlf)
response.write("<province>CT</province>"&vbcrlf)
response.write("</address>"&vbcrlf)
response.write("</label>"&vbcrlf)
response.write("<label id='lh' added='2004-11-01'>"&vbcrlf)
response.write("<name>Langston Hughes</name>"&vbcrlf)
response.write("<address>"&vbcrlf)
response.write("<street>10 Bridge Tunnel</street>"&vbcrlf)
response.write("<city>Harlem</city>"&vbcrlf)
response.write("<province>NY</province>"&vbcrlf)
response.write("</address>"&vbcrlf)
response.write("</label>"&vbcrlf)
response.write("<label id='co' added='2004-11-15'>"&vbcrlf)
response.write("<name>Christopher Okigbo</name>"&vbcrlf)
response.write("<address>"&vbcrlf)
response.write("<street>7 Heaven's Gate</street>"&vbcrlf)
response.write("<city>Idoto</city>"&vbcrlf)
response.write("<province>Anambra</province>"&vbcrlf)
response.write("</address>"&vbcrlf)
response.write("</label>"&vbcrlf)
response.write("</labels>"&vbcrlf)
end sub



Xml is inderdaad wat ranzig opgebouwd maar dit is om de techniek te onderzoeken. Finetuning komt later

Ik borduur hier verder op een voorbeeld wat ik op het net gevonden heb.
Als ik "dataType: "application/x-www-form-urlencoded"," laat staan en het resultaat in een alert laat zien krijg ik de xml mooi terug (als plain tekst vermoed ik) maar met datatype "xml" krijg ik niets terug. Ik ben met name even met alerts bezig om in ieder geval te kijken of ik iets terug krijg. Zelfs een jquery boek geeft geen oplossing.

[ Voor 7% gewijzigd door Verwijderd op 07-08-2009 07:49 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Moet je contenttype niet text/xml (of application/xml) zijn i.p.v. application/vnd.xml en de Content-Disposition achterwege?
Verder een beetje "redneck" manier van XML opbouwen, vind je ook niet? :P

[ Voor 46% gewijzigd door RobIII op 06-08-2009 21:32 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op donderdag 06 augustus 2009 @ 21:29:
Moet je contenttype niet text/xml (of application/xml) zijn i.p.v. application/vnd.xml en de Content-Disposition achterwege?
Verder een beetje "redneck" manier van XML opbouwen, vind je ook niet? :P
Aangepast (zie hierboven) maar nog geen resultaat.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Verwijderd schreef op donderdag 06 augustus 2009 @ 21:25:
Met de POST methode van jquery vind ik geen goede voorbeelden op het net (tenminste niet hoe ik xml terug krijg en dat kan parsen.
http://docs.jquery.com/Ajax/jQuery.post
type (Optional) String
Type of data to be returned to callback function: "xml", "html", "script", "json", "jsonp", or "text".
Zo ingewikkeld is dat toch niet?

JavaScript:
1
2
3
4
5
$(function(){
    $.post('test.xml',{},function(data){
        alert(data);
    },'xml');
});


Werkt prima?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bosmonster schreef op donderdag 06 augustus 2009 @ 22:16:
JavaScript:
1
2
3
4
5
$(function(){
    $.post('test.xml',{},function(data){
        alert(data);
    },'xml');
});


Werkt prima?
Kom al een heel eind verder maar parsen lukt nog niet. Daar zit dus nog een fout.

Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 17-09 17:56
Die parset hem al voor je en convert hem naar een object ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hostname schreef op donderdag 06 augustus 2009 @ 22:31:
Die parset hem al voor je en convert hem naar een object ;)
Ah, dan gebruik ik dus een verkeerde manier om de elementen uit te lezen. Nu eens uitvogelen hoe dat wel moet.

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Behalve dat je natuurlijk via andere manieren XML moet genereren, zodat je zeker valide XML hebt, kan je ook handmatig de POST in je browser uitvoeren, en kijken of het geldig XML terug geeft. Firefox geeft bijvoorbeeld een YSOD bij slechte XML :)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb de code aangepast, zie boven. Dit werkt nu. Ik ga nu inderdaad eea verbeteren. Oa de aanmaak van mijn xml.
Pagina: 1