在IE10中的AJAX CORS请求中添加自定义标头时,CORS请求中止

时间:2016-05-02 15:18:27

标签: jquery asp.net-mvc http-headers cors

当我将此标题添加到我的jQueryAjax请求时:

headers: {
    "Authorization": "SomeValue"
}

在服务器上我将Authorization标头添加到

h.Add("Access-Control-Allow-Headers","Authorization");

这在其他浏览器中运行良好,但在IE10中无效!

Options Preflight request

一个备注:

如果我注释掉身份验证标头,请刷新页面,向我的web api发出常规GET请求,默认情况下不会触发预检请求。 在该请求之后,我在我的jquery请求中取消注释自定义标头,保存,刷新页面,发出带有自定义标头的新请求,然后成功执行!

在IE 10 Web开发人员工具中,我可以看到错误消息:

  

SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问被拒绝

     

SEC7118:XMLHttpRequest for   https://mywebapi.dev/api/authentication/cors/需要Cross Origin   资源共享(CORS)。 cors SEC7119:XMLHttpRequest for   https://mywebapi.dev/api/authentication/cors/需要CORS预检。   cors SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问是   拒绝。

请求立即中止,它永远不会到达消息处理程序!

1 个答案:

答案 0 :(得分:0)

这已经回答了here,并由@EricLaw在anser / comment部分解释。我现在找到了,因为我用Google搜索了错误代码

  

SCRIPT7002

我所做的是:

  1. 我去了我的webapi托管的IIS,
  2. 点击/标记托管我的webapi和
  3. 的我的网络应用程序
  4. 转到SSL设置 - >选中忽略客户端证书!。
  5. 现在使用IE10进行预检CORS请求。