4

公共サービスにAJAXリクエストを送信しようとしています

コードは次のとおりです。

$.ajax({
    url : "http://api.geonames.org/citiesJSON",
    type : 'POST',
    cache : false,
    dataType : 'json',
    data : {
        username: "demo", 
        north:10, 
        south: 10, 
        east:10, 
        west:10}
}).done(function(data) {
    alert("Success: " + JSON.stringify(data));
}).fail(function(a, b, c, d) {
    alert("Failure: " 
          + JSON.stringify(a) + " " 
          + JSON.stringify(b) + " " 
          + JSON.stringify(c) + " " 
          + JSON.stringify(d) );
});

あなたはこのリンクでそれを試すことができます:http://jsfiddle.net/hDXq3/

ChromeとFirefoxで応答が正常に取得され、出力は次のようになります。
ここに画像の説明を入力してください

ただし、IEの場合、失敗の警告:
失敗:{"readyState":0、 "status":0、 "statusText": "No Transport"} "error" "No Transport" undefined

ここに画像の説明を入力してください

IEで動作しないのはなぜですか?そしてこれを修正する方法は?

4

2 に答える 2

7

XDomainRequest for IE8+ を使用するjQuery ajaxTransport 拡張機能を含めるだけです。

于 2013-11-18T13:22:54.810 に答える