J'écris une application web en Angular, cette partie du code est destinée à obtenir des données XML de test sous forme de texte à partir du serveur. J'utilise le service http d'Angular pour envoyer une requête GET au serveur. La variable 'xmlData' est en cours de modification dans le bloc $ http, mais en dehors de ce bloc sa valeur est toujours la valeur par défaut. Voici le code:
this.getData = function() {
var xmlData = "Default";
var xmlDoc;
// send an http GET request for the XML text data
$http.get('http://localhost:1337/testXML.txt').success(function(data) {
xmlData = data;
if (xmlData == null) {
alert("Data Error Occurred");
}
// here, 'xmlData' contains the correct information.
}).
error(function() {
alert("HTTP Error Occurred");
});
// once the above $http block ends, the xmlData has the default value.
return xmlData;
}
Donc, est-ce juste un problème stupide? Ou est-ce que j'utilise incorrectement le service http de $ Angular? Merci!
Très bien, merci! Je suis ce code avec un analyseur qui transforme les données xml dans un DOM avec lequel javascript peut travailler. Mais dites-vous que la requête http ne peut pas gérer xml? – Emma
Vous pouvez saisir n'importe quoi avec $ http. Mais ce n'est que JSON qui peut nativement être attaché à une variable comme vous l'avez configuré. –
Oh, d'accord. Ça a du sens. Super, merci beaucoup – Emma