1

JS:

var loadNeededDocumentsData = function () {
    $j.getJSON("customermanagement/documentsCheckJSON.do", function (data) {

    });
}

$j(document).ready(function () {
    loadNeededDocumentsData();
});

FF では、Chrome コードは正常に動作します。customermanagement/documentsCheckJSON.do問題はIE8、または決して実行されないiE9にあります。なんで?他のブラウザーでは機能するが IE では機能しないコードの何が問題なのですか?

4

1 に答える 1

2

IE8 は、jQuery であるXMLHttpRequestオブジェクトでCORS をサポートしていません。IE8 は、 jQuery がデフォルトでサポートしていないXDomainRequest オブジェクトを使用します。したがって、コードでこれを試してください:

jQuery.support.cors = true

ここで役立つのは、次のイディオムです。

jQuery.getJSON(URL, 
  function(data) {
    alert(data);
  }
)
.error(function(jqXHR, textStatus, errorThrown) { alert(errorThrown); })
;

getJSON が失敗したときのエラーが何であるかがわかります。この場合、おそらく輸送がないことについて何かを言うでしょう。

于 2013-11-07T15:11:12.207 に答える