Я пишу веб-приложение в Angular, этот фрагмент кода предназначен для получения XML-данных в виде текста с сервера. Я использую службу Angular $ http для отправки запроса GET с сервера. Переменная «xmlData» изменяется внутри блока $ http, но за пределами этого блока его значение по-прежнему является значением по умолчанию. Вот код:
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;
}
Так это просто глупый вопрос о проблеме? Или я неправильно использую службу Angular $ http? Спасибо!
Хорошо, спасибо! Я следую этому коду с помощью синтаксического анализатора, который превращает XML-данные в DOM, с которыми может работать javascript. Но вы говорите, что HTTP-запрос не может обрабатывать xml? – Emma
Вы можете получить что-либо с помощью $ http. Но только JSON может быть привязан к переменной, как вы настроили. –
О, ладно. В этом есть смысл. Отлично, большое спасибо – Emma