在 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

我所做的是:

  1. 我去了托管我的 webapi 的 IIS
  2. Click/mark 我的 Web 应用程序托管我的 webapi 和
  3. 转到 SSL 设置 -> 检查忽略客户端证书!

现在预检 CORS 请求使用 IE10 完成。