2012-01-12 3 views
2

Я пытаюсь практиковать jquery с помощью webservices и вызывать его открытую службу xml из аэропортов США.JQuery, вызывающий XML webservice

вебсервис URL является http://services.faa.gov/airport/status/IAD?format=application/xml

и мой код запроса, как показано ниже, но при загрузке страницы он показывает пустой экран :(может кто-то наставит меня, пожалуйста. Я искал в Интернете и не смогло»выяснить.

<html> 
<head> 
    <script type="text/javascript" src="assets/jquery.js"></script> 
    <title>Aviation</title> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $.ajax({ 
     type: "GET", 
     url: "http://services.faa.gov/airport/status/IAD?format=application/xml", 
     dataType: "xml", 
     success: xmlParser 
     }); 
    }); 

    function xmlParser(xml) { 

     $('#airport').fadeOut(); 
     $(xml).find("AirportStatus").each(function() { 
     $("#details").append($(this).find("ICAO").text() + "</br>"+ $(this).find("State").text()); 
     //$(".book").fadeIn(1000); 
     }); 
    } 
    </script> 
</head> 
<body> 
    <p id="airport">Loading...</p> 
    <p id="details"></p> 
</body> 
</html> 

Спасибо за ваше время заранее.

+0

, пожалуйста, проверьте свою страницу с помощью дополнения firebug mozilla, как показано на вкладке XHR панели Net, если ваш веб-сервис доступен или нет. Убедитесь, что нет 500 внутренних ошибок сервера или 404 ресурса, не найденное исключение не наступит. на ваш вопрос ясно, что ваш веб-сервис не называется – Devjosh

+0

Я проверил с помощью firebug. Я не так хорошо знаком с firebug. но видел, что нет ничего под «ответом» на его пустые, но ошибки mesgs, показанные как ошибка или что-то еще. –

+0

нажмите ctrl + shift + k там вы найдете кнопку NET, см. Ниже, что ваша страница делает запрос на webservice или нет, если нет ответа, означает, что ваш скрипт не вызывает веб-сервис вообще точно – Devjosh

ответ

3

его ограничен CORS вы не можете получить доступ к данным через домен, кроме того, XML, кажется, есть некоторые проблемы форматирования попробуйте формат JSON вместе с dataType:'jsonp'

$.ajax({ 
     type: "GET", 
     url: "http://services.faa.gov/airport/status/IAD?format=json", 
     dataType: "jsonp", 
    success: function(data){ 
     alert("asd"); 
    console.log(data); 
    } 
     }); 

http://jsfiddle.net/WxMXR/7/

1

Есть ошибка, когда я исполню вам JS в http://jsfiddle.net/QYQ4V/2/

Потому что вы не можете использовать Ajax вызовы, чтобы получить данные из других областей ... (если с помощью JSONP или скриптовые типы данных.) JSONP: http://en.wikipedia.org/wiki/JSONP

Так что вы можете использовать другой язык (python/ruby ​​/ java) для получения данных и использовать jquery для извлечения данных в одном домене, а не в использование XHR ($. ajax) в jQuery.

0

FYI

Сервер стороне возврата XML и ответ заголовок HTTP 'Content-Type' = 'приложение/XML', который должен быть 'текст/XML',

и низкого XMLHttpRequest уровня с помощью «приложения/xml ', чтобы возникли конфликты.

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