【发布时间】:2016-08-27 10:09:34
【问题描述】:
当我将此标头添加到我的 jQueryAjax 请求时:
headers: {
"Authorization": "SomeValue"
}
在服务器上,我将 Authorization 标头添加到
h.Add("Access-Control-Allow-Headers","Authorization");
这在其他浏览器中运行良好,但在 IE10 中不行!
一句话:
如果我注释掉身份验证标头,刷新页面,向我的 web api 发出常规 GET 请求,默认情况下不会触发预检请求。 在该请求之后,我取消注释我的 jquery 请求中的自定义标头,保存,刷新页面,发出带有自定义标头的新请求,然后成功执行!
在 IE 10 Web 开发者工具中,我可以看到一条错误消息:
SCRIPT7002:XMLHttpRequest:网络错误 0x80070005,访问被拒绝
SEC7118: XMLHttpRequest 用于 https://mywebapi.dev/api/authentication/cors/ 需要跨域 资源共享 (CORS)。 cors SEC7119: XMLHttpRequest 为 https://mywebapi.dev/api/authentication/cors/ 需要 CORS 预检。 cors SCRIPT7002:XMLHttpRequest:网络错误 0x80070005,访问权限为 拒绝。
请求立即中止,它永远不会到达消息处理程序!
【问题讨论】:
-
我也有同样的问题,IE10 只是忽略了
Authorization标头。有什么解决办法吗? -
您必须提供更多信息。默认情况下,在 Options 请求期间不发送授权标头。
标签: jquery asp.net-mvc http-headers cors