通過擺弄它似乎IE11不會發出ajax請求,如果它是跨越原點。如果資源API沒有發送必要的頭文件,FF和Chrome將至少發出請求並拋出錯誤。在我的情況下,資源API(Web API 2.0)是adding required headers,如果IE發出請求,它將會很有幫助,但事實並非如此。IE11不啓動CORS請求
客戶端的JavaScript:
jQuery.support.cors = true;
$.fn.somePlugin = function() {
$.ajax({
url: apiUrl + '/articles/list/',
type: 'GET',
crossDomain: true
}).done(
function (data, textStatus, xhr) {
console.log('hello world!');
});
return this;
}
Ajax請求上述工作完全在Chrome和FF但不是在IE11。
我已經試過:
- 增加XDomainRequest.js參考無任何影響。
- 在IE安全選項中啓用交叉源請求 - 儘管在每臺客戶端計算機上都這樣做似乎很奇怪。無論如何,它沒有任何區別。
我剛剛在IE 11上試過這個http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_get,它工作正常。問題在別的地方。 – 2014-10-31 20:10:39
@PiotrŁużecki我正在使用jQuery $ .ajax和$ .getJSON方法。不想將我的所有代碼更改爲純XMLHttpRequest對象。 – joym8 2014-10-31 20:14:02
@PiotrŁużecki另外,我沒有看到您在示例代碼中發出跨源請求的位置。 – joym8 2014-10-31 20:37:04