我正在使用jQuery的.ajax将内容从其他页面拉入模态窗口。这些页面中的大多数位于同一个域中,并且可以在所有浏览器中正常运行。
有一个链接转到另一个域。该链接在Chrome,Firefox和Safari中正常运行,但在Internet Explorer 8和9中提供了“拒绝访问”错误。
我搜索了很多解决方案并尝试了迄今为止没有帮助的几件事,包括:
我可能忘记了今天尝试过的东西,但这应该是其中的大部分内容。
这是我目前的代码:
jQuery.support.cors = true;
var request = $.ajax(
{
crossDomain: true,
type: "GET",
url: url,
success: function () {
console.log('success');
},
error: function (a, status, error) {
console.log('error: ' + error);
},
complete: function () {
console.log('complete');
}
});
Chrome,Firefox和Safari记录成功'并且'完成'在控制台中。 IE8 / 9 log'错误:错误:访问被拒绝。'并且'完成'在控制台中。
答案 0 :(得分:1)
前几天我遇到了类似的问题。这就是我尝试过的,它就像一个魅力
我将属性dataType设置为jsonp(即dataType:' jsonp')这适用于GET但不适用于POST
如果上述内容仍然不起作用,那么您可以从MoonScript引用以下脚本并自动挂起支持
https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
答案 1 :(得分:0)
我用它来让Internet Explorer在跨域ajax调用上工作。我也很乐意在这里列出我的解决方案,但我认为下面的链接可能从一个比我更聪明的用户详细解释。