我的myapp.myurl.com
网站正在向api.myurl.com
发出ajax请求。据我所知,这被认为是“跨域”。我不明白为什么ajax调用在除IE8和IE9之外的每个浏览器中都有效。
这是删除了详细信息的代码。
$.ajax({
type: "POST",
dataType: "json",
headers: header,
data: data,
url: "api.myurl.com/getdata",
success: function (data) {
//dostuff
}
});
我能做些什么吗?
这是我在IE8中手动运行脚本时的响应
{readyState: 0, responseJSON: undefined, status: 0, statusText: "No Transport"}
以下是我在Chrome中手动运行脚本时的响应
Object {readyState: 1, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
它有正确的JSON响应。
答案 0 :(得分:2)
IE 8 and 9 have only a partial CORS implementation。他们还使用名为XDomainRequest的非标准对象来跨域请求。
您可能需要编写一些特殊代码来执行此操作,或使用特殊的jquery插件。
请参阅另一篇描述类似问题的帖子。 CORS with jQuery and XDomainRequest in IE8/9