[英]jQuery .ajax getting Access Denied on Cross Domain Request in IE8/9
我正在使用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日志“错误:错误:访问被拒绝。” 并在控制台中“完成”。
前几天,我遇到了类似的问题。 这就是我尝试过的,它就像一个魅力
我已将属性dataType设置为jsonp(即dataType:'jsonp'),这将适用于GET但不适用于POST
如果以上方法仍然无效,则可以从MoonScript中引用以下脚本,它会自动连接支持
https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
我用它来使Internet Explorer在跨域Ajax调用上为我工作。 我也很乐于在这里列出我的解决方案,但是我认为下面的链接可能比比我更聪明的用户足够详细地解释了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.