0

残りのサーバーからデータを取得して別の関数に返す JavaScript 関数を実行しています。Chromeとfirefoxではこれは完全に機能していますが、どのバージョンのIEでも機能しません(なぜ私は驚かないのですか)機能は機能しません...以下はコードです

function getTotalCounts() {
    var swings = '';
    var serviceUrl = 'http://urldata.com/getdata';
    $.ajax({
        type: "GET",
        cache: false,
        contentType: "application/json; charset=utf-8",
        url: serviceUrl,
        data: "{}",
        async: false,
        dataType: "json",
        success: function (data) {
            jQuery.each(data.InteractiveBlockList, function (i, val) {
                swings = new Array(val.ActivationDay, val.GrassBlockCount, val.GrassSquareMeters, val.InstagramCount, val.PublicTweetCount, val.SwingCount);
                var gettotalcounts;
            });
            grassification(swings)
        }
    });
}

何が間違っているかについて何か考えはありますか?

4

3 に答える 3

0

私は最終的に問題が何であるかを理解します。最初に、エラー呼び出しを追加して、それがどのようなエラーであるかを確認しました。Chrome/Firefox ではエラーは発生しませんでしたが、IE では「転送なしエラー」が発生しました。少しグーグルで調べたところ、問題はクロスドメインスクリプティングが原因であることが判明しました。このブログでより適切な説明が得られます。 -クロスサイトスクリプティングを許可

jQuery.support.cors = true;ajax呼び出しを行う前に追加すると、問題が修正されました。IE のすべてのバージョンで動作することを完全に拒否したのは奇妙ですが、それはあなたのための IE です!

于 2013-05-05T09:24:21.560 に答える
0

データはajaxではオプションです..サーバーに情報を送信する必要がない場合は、まったく使用する必要はありません.ajaxdataオプションにコメントしてください

 //data="{}";

でスクリプトを閉じてください;

grassification(swings);
          //----------^----here
于 2013-05-04T17:27:56.080 に答える