我正在跨域url进行ajax调用,并且在IE8中使用下面的代码失败。它在IE8中失败,因为没有定义对象或属性的错误,并且给出了未定义的响应。
我已设置,$ .support.cors = true;
$阿贾克斯({
async:false,
cache:false,
网址:“http://test/price”,
crossDomain:true,
类型:“POST”,
dataType:“json”,
数据:jsonData,
xhrFields:{
withCredentials:true
},
成功:功能(响应){
}
错误:function(xhr,exception){
}
上面的代码在firefox和chrome浏览器中完美运行。为了使它在IE8中工作,我删除了以下部分代码
xhrFields:{withCredentials:true},
现在它可以在IE8,IE8 +浏览器中运行但在chrome和firefox中失败并抱怨为“401 - 未经授权:由于凭据无效而拒绝访问。您无权使用您提供的凭据查看此目录或页面“
我甚至尝试使用下面的代码强制在ajax调用的标题部分,但它是没用的。
标题:{
“内容类型”:“应用程序/ x WWW的形式进行了urlencoded”,
“Access-Control-Allow-Origin”:“*”,
“访问控制允许的凭据”:“真”,
“Access-Control-Allow-Headers”:“Content-Type,Origin,Authorization,X-Requested-With,Accept”,
“访问控制允许 - 方法”:“POST”
}
我在一些帖子中尝试了所有建议,但都没有奏效 有人可以帮我修复IE8 +,chrome和firefox浏览器。