2013-07-11 5 views
0

Я пишу веб-приложение в 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? Спасибо!

ответ

0

Я не думаю, что вы можете напрямую вставлять XML, как вы можете JSON без какого-либо синтаксического анализатора.

Заканчивать этот вопрос для обработки XML в AngularJS: How to handle XML services in AngularJS?

В частности проверить эти модули/плагины, чтобы помочь:

+0

Хорошо, спасибо! Я следую этому коду с помощью синтаксического анализатора, который превращает XML-данные в DOM, с которыми может работать javascript. Но вы говорите, что HTTP-запрос не может обрабатывать xml? – Emma

+0

Вы можете получить что-либо с помощью $ http. Но только JSON может быть привязан к переменной, как вы настроили. –

+0

О, ладно. В этом есть смысл. Отлично, большое спасибо – Emma

 Смежные вопросы

  • Нет связанных вопросов^_^