10

次のコードを使用して、JSONからデータを取得しています。

 $(document).ready(function()
 {
   $.getJSON("http://www.example.com/data.php?id=113&out=json", function(data) {

        $.each(data.issue.page, function(i,item) {
            imagesJSON[i] = item["@attributes"];
        });

       alert(imagesJSON.length);
    });
 });

Mozilla、Chrome、その他のブラウザでは動作しますが、IEでは動作しません。(どのバージョンにもありません)。

4

2 に答える 2

18

$.getJSONIEで結果をキャッシュする傾向があります。$.ajax代わりに使用してください。

あなたの場合、関連する呼び出しは次のようになります。

// Not really sure if you've forgot to var 
var imagesJSON = [];

$.ajax({
  url: "www.example.com/data.php?id=113&out=json",
  cache: false,
  dataType: "json",
  success: function(data) {
    $.each(data.issue.page, function(i,item) {
        imagesJSON[i] = item["@attributes"];
    });

    alert(imagesJSON.length);
  },
  error: function (request, status, error) { alert(status + ", " + error); }
});

あなたが持っていることを確認してくださいcache: false


アップデート:

OPが実際に使用するリクエストURLのホストでの構成の問題のようです。IE WebブラウザでURLに直接アクセスすると、ホストから中止されます。ホストのウェブマスターへのメールのように、ホストに問題を報告する以外に多くのことを行うことはできません。

于 2012-04-25T12:13:33.950 に答える
2

ページで同じエラーが発生し、次の行を追加しました。

<!--[if lte IE 9]>
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.0/jquery.xdomainrequest.min.js'></script>
<![endif]-->

そしてそれは最終的に私のために働きます;)IE9のためのこれ以上のエラーはありません

この投稿は、jQueryのWebサービスへの呼び出しが「トランスポートなし」エラーを返すのに役立ちます

于 2014-01-20T14:57:40.187 に答える