我遇到了一个IE的bug,但是一直无法解决。我的代码只支持IE 10和11,所以我想以下代码应该没问题。
我有一个AJAX请求:
$.ajax({
type: {method},
url: {url},
cache: false,
crossDomain: true,
data: {data to send},
success: function (data, textStatus, xhr) {
///success code
},
error: function (xhr, textStatus, errorThrown) {
//error code
}
});
这段代码在火狐和谷歌浏览器中表现良好,但在 IE 10、11 中无法正常工作。我一直以为 IE 10、11 已经修复了 CORS 问题,难道不是吗?
为什么我在 IE 10、11 中会收到以下错误信息?
{"readyState":0,"status":0,"statusText":"Error: Access is denied.\r\n"}
crossDomain: true
不是必需的。(很奇怪,对吧?)如果您想知道原因,请参阅crossDomain选项的文档。 - Kevin Bxhr.open(s.type, s.url, s.async);
处失败了。当我在IE上在JSFiddle中运行上面的代码时,一切正常。因此,Visualforce页面必须在IE上做了一些事情。我只是想不出来是什么。 - David Ward