Internet Explorer XMLHttpRequest 中的 Cors 问题:网络错误 0x80070005,访问被拒绝
Cors issue specifically in Internet Explorer XMLHttpRequest: Network Error 0x80070005, Access is denied
Cors 问题仅在 Internet Explorer 中出现
从 ajax 调用 API。
1)请求 header content-type 不存在于 Access-Control-Allow-
Headers 名单
2)XMLHttpRequest:网络错误0x80070005,访问被拒绝。
我试过以下
xhrFields: {
withCredentials: true
}
同样通过设置
...
跨域:真
...
header秒:{
'Access-Control-Allow-Origin': '*'
},
Ajax 通话
var url = "https://dev-connectivity.dummylink";
var data = JSON.stringify({
"lang": "en",
"ClientId": "asdfasf3452345c42352345c",
"CountryCode": "34"
});
$.ajax({
url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
headers: {
'Access-Control-Allow-Origin': '*' },
data: data,
success: function (data) {
alert("tets");
},
error: function (error) {
alert("error");
}
});
//我的api Webconfig代码
<httpProtocol>
<customHeaders>
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
// 也在启动时启用 Cors
services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyMethod()
.AllowAnyHeader();
}));
app.UseCors("CorsPolicy");
IE 不接受 Content-Type header 如果你在你的 web.config 文件中提供 * 所以要解决这个问题,你需要手动添加 Content-Type header in Access-Control-Allow-Headers list inside your web.config file.
<customHeaders>
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Any-Other-Header" />
</customHeaders>
Cors 问题仅在 Internet Explorer 中出现 从 ajax 调用 API。
1)请求 header content-type 不存在于 Access-Control-Allow- Headers 名单 2)XMLHttpRequest:网络错误0x80070005,访问被拒绝。
我试过以下
xhrFields: {
withCredentials: true
}
同样通过设置 ...
Ajax 通话
var url = "https://dev-connectivity.dummylink";
var data = JSON.stringify({
"lang": "en",
"ClientId": "asdfasf3452345c42352345c",
"CountryCode": "34"
});
$.ajax({
url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
headers: {
'Access-Control-Allow-Origin': '*' },
data: data,
success: function (data) {
alert("tets");
},
error: function (error) {
alert("error");
}
});
//我的api Webconfig代码
<httpProtocol>
<customHeaders>
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
// 也在启动时启用 Cors
services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyMethod()
.AllowAnyHeader();
}));
app.UseCors("CorsPolicy");
IE 不接受 Content-Type header 如果你在你的 web.config 文件中提供 * 所以要解决这个问题,你需要手动添加 Content-Type header in Access-Control-Allow-Headers list inside your web.config file.
<customHeaders>
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Any-Other-Header" />
</customHeaders>