除IE8和IE之外的所有浏览器都可以使用跨域脚本9

时间:2015-04-29 16:12:21

标签: jquery ajax asp.net-mvc asp.net-web-api

我的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响应。

1 个答案:

答案 0 :(得分:2)

IE 8 and 9 have only a partial CORS implementation。他们还使用名为XDomainRequest的非标准对象来跨域请求。

您可能需要编写一些特殊代码来执行此操作,或使用特殊的jquery插件。

请参阅另一篇描述类似问题的帖子。 CORS with jQuery and XDomainRequest in IE8/9