2012-01-12 24 views
2

私はwebservicesでjqueryを実践しようとしており、彼は米国の空港からXMLサービスをオープンしています。JQuery XML Webサービスを呼び出す

WebサービスのURLは以下のようにhttp://services.faa.gov/airport/status/IAD?format=application/xml

と私のクエリのコードですが、ページがロードされるときには、空の画面を示し:(誰かが私にしてください導くことができる。私はオンライン検索と」把握couldntの。

<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

MozillaのFirebugアドオンを使用してページをテストしてください。具体的には、Webサービスのアクセス可能かどうかを確認してください。 500の内部サーバーエラーがないか、または404リソースが見つかりませんでした例外が発生していないことを確認してください。あなたのウェブサービスが呼び出されていないことがあなたの質問ではっきりと分かります – Devjosh

+0

火かき棒を使ってチェックしました。私は火かき棒であまりにもfamilierではない。しかし、 "応答"の下に何もないことがわかりました。それは空ですが、エラーメッセージやエラーメッセージはありません。 –

+0

ctrl + shift + kを押すとNETボタンが表示され、そのページの下にWebサービスへのリクエストがあるかどうかを確認します。応答がない場合は、スクリプトがwebserviceを呼び出していないことを意味します。 – Devjosh

答えて

3

そのドメイン間でデータにアクセスすることはできませんCORSによって制限、さらにXMLは、いくつかの書式の問題がと一緒にJSON形式を試しているようです私はhttp://jsfiddle.net/QYQ4V/2/

であなたのJSを実行するときに使用していない限り(...他のドメインからデータをフェッチするために、AJAXを使用する呼び出しは許可されていませんので

$.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

はエラーがありますJSONP:http://en.wikipedia.org/wiki/JSONP

これは、他の言語(python/ruby​​/java)を使用してデータを取得し、jqueryを使用して同じドメインのデータをフェッチすることを意味しますjQueryでXHR($ .ajax)を使用します。

0

FYI

サーバ側戻りXMLとレスポンスのHTTPヘッダ 'のContent-Type' = 'アプリケーション/ XML' 'text/xmlで' でなければならない、

とローレベルXMLHttpRequestを使用して、「アプリケーション/ xml 'を使用して、競合が発生しました。