Ich bin ein Neuling in Javascript xml Datenverarbeitung. Derzeit, meine Ajax-Aufruf an einen Server, und der Server gibt xml Daten, ich weiß nicht, wie ich die Xml-Daten analysieren kann, um einige Werte zu erhalten.
Mein Ajax-Aufruf:
$.ajax({
url: 'http://localhost:8080/someinterface/the-id',
type: 'GET',
async: false,
dataType: 'application/xml',
data: {id: 43},
success: function(data) {
//handle the data
},
error: function(xhr, status, error){
alert('error happens');
}
})
die zurückgegebenen xml Die Daten sehen wie folgt aus:
<DOCUMENT>
<AGE>16</AGE>
<USERNAME>default user</USERNAME>
<SECURITYID>1111</SECURITYID>
...
Wie kann ich die Xml-Daten parsen, um zum Beispiel "USERNAME" in meinem Javascript zu erhalten?
------------EDIT------------
Ich habe versucht, den von Ihnen vorgeschlagenen Weg zu gehen, aber jetzt bekomme ich eine Fehlermeldung:
XML-Parsing-Fehler: kein Element gefunden Ort: moz-nullprincipal:{120e8c1d-5174-4e94-9ebb-2bffda80b170} Zeile Nummer 1, Spalte 1: ^
und das Ergebnis des Ajax-Aufrufs an die Fehlerfunktion
------------------- TEILWEISE GELÖST ------------------------
Schließlich habe ich herausgefunden, dass der Grund dafür ist, dass meine Anwendung auf einem Jetty-Server auf localhost läuft: 8080 während mein Ajax xml-Daten auf dem Tomcat-Server anfordert, der auf localhost ausgeführt wird: 8085 . Wegen der Domäne Port unterschiedlich sind, habe ich das Problem verwirrt. Nun, nachdem ich meine Anwendung auf den Tomcat-Server verschoben und den Tomcat-Server angefordert habe, habe ich die XML-Antwort erfolgreich erhalten.
Der Ajax-Aufruf geht an die Erfolgsfunktion, und ich verwende
success: function(data){
xmlDoc = $.parseXML(data);
$xml = $(xmlDoc);
$userName = $xml.find('USERNAME');
var userName = $userName.text();
alert('1');
alert(userName);
}
Ich habe alert('1') in meinem Browser, BUT Ich bekomme keine Meldung (Benutzername), ich weiß nicht warum... Also habe ich hier "TEILWEISE GELÖST", also... warum ich meinen Benutzernamen nicht angezeigt bekomme...