1

AjaxとInternetExplorerでのみJSONデータを取得しようとすると問題が発生します。

私はこのjQueryコードを使用しています:

$.ajax({
    type: "GET",
    url: "./ajaxglobal/chargementcommandes", 
    cache: false,
    dataType: "json",
    contentType: "application/json",
    success: function(data) {
        alert("Success : "+data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert("Error : "+textStatus+" / "+errorThrown);
    }
});

「chargementcommandes」はPHP/Zendページです。

テスト用に簡略化された「chargementcommandes」のPHPコードは次のとおりです。

echo '[
        { "data" : "A node", "children" : [ { "data" : "Only child", "state" : "closed" } ], "state" : "open" },
        "Ajax node"
]';

FirefoxとChrome(期待されるデータを取得)ではすべて正常に動作していますが、Internet Explorer(IE8とIE9でテスト済み)では、アラートから「成功:未定義」が表示されます。したがって、Ajax呼び出しは何も返しません。私は多くのことを試みましたが、この問題を取り除くことに成功しませんでした。

どんな助けでも大歓迎です。前もって感謝します !

編集:jQueryコードにタイプ、キャッシュ、コンテンツタイプを追加しました。それでも「成功:未定義」の応答...

4

1 に答える 1

0

raina77owが提案したように、json応答のヘッダーが正しいことを確認してください。

jsonの正しいヘッダーは「application/json」です。このヘッダーは次のように設定されます:

header('Content-type: application/json');

于 2012-10-15T16:47:37.700 に答える