在 IE10 中的 AJAX CORS 请求中添加自定义 header 时,CORS 请求中止
CORS request aborted when adding a custom header in AJAX CORS request in IE10
当我将此 header 添加到我的 jQueryAjax 请求时:
headers: {
"Authorization": "SomeValue"
}
在服务器上,我将授权 header 添加到
h.Add("Access-Control-Allow-Headers","Authorization");
这在其他浏览器中可以正常工作,但在 IE10 中不行!
一条评论:
如果我注释掉身份验证 header,刷新页面,向我的网站发出常规 GET 请求 api,默认情况下不会触发预检请求。
在该请求之后,我在 jquery 请求中取消注释自定义 header,保存,刷新页面,发出带有自定义 header 的新请求,然后成功执行!
在 IE 10 网络开发人员工具中,我可以看到一条错误消息:
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied
SEC7118: XMLHttpRequest for
https://mywebapi.dev/api/authentication/cors/ required Cross Origin
Resource Sharing (CORS). cors SEC7119: XMLHttpRequest for
https://mywebapi.dev/api/authentication/cors/ required CORS preflight.
cors SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is
denied.
请求立即中止,它永远不会到达消息处理程序!
@EricLaw 在 anser/comment 部分已回答 here 并进行了解释。我现在找到了,因为我用谷歌搜索了错误代码
SCRIPT7002
我所做的是:
- 我去了托管我的 webapi 的 IIS
- Click/mark 我的 Web 应用程序托管我的 webapi 和
- 转到 SSL 设置 -> 检查忽略客户端证书!
现在预检 CORS 请求使用 IE10 完成。
当我将此 header 添加到我的 jQueryAjax 请求时:
headers: {
"Authorization": "SomeValue"
}
在服务器上,我将授权 header 添加到
h.Add("Access-Control-Allow-Headers","Authorization");
这在其他浏览器中可以正常工作,但在 IE10 中不行!
一条评论:
如果我注释掉身份验证 header,刷新页面,向我的网站发出常规 GET 请求 api,默认情况下不会触发预检请求。 在该请求之后,我在 jquery 请求中取消注释自定义 header,保存,刷新页面,发出带有自定义 header 的新请求,然后成功执行!
在 IE 10 网络开发人员工具中,我可以看到一条错误消息:
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied
SEC7118: XMLHttpRequest for https://mywebapi.dev/api/authentication/cors/ required Cross Origin Resource Sharing (CORS). cors SEC7119: XMLHttpRequest for https://mywebapi.dev/api/authentication/cors/ required CORS preflight. cors SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
请求立即中止,它永远不会到达消息处理程序!
@EricLaw 在 anser/comment 部分已回答 here 并进行了解释。我现在找到了,因为我用谷歌搜索了错误代码
SCRIPT7002
我所做的是:
- 我去了托管我的 webapi 的 IIS
- Click/mark 我的 Web 应用程序托管我的 webapi 和
- 转到 SSL 设置 -> 检查忽略客户端证书!
现在预检 CORS 请求使用 IE10 完成。