这适用于 Chrome 和 IE,但不适用于 Firefox(26)。
OPTIONS 请求返回状态 200,但 Firefox 仍然不会像 Chrome 和 IE 那样发送后续 POST 请求。
请求标头
选项 ..
访问控制请求标头:内容类型
访问控制请求方法:POST
响应头
Security
访问控制允许凭据:true
访问控制允许标头:X 文件上传内容类型
访问控制允许方法:POST 选项
访问控制允许来源:*
IE和Chrome都发送后续的POST方法,一切正常,但Firefox不发送POST请求。我知道这一点是因为 (a) 我检查了 Firefox 调试器中的网络流量,并且 (b) 服务器没有收到 POST 请求。
不确定这是否相关,但这里有一些附加信息:
X-File-Upload 是我正在使用的商业 jQuery 文件上传包所需的自定义标头
我正在使用 jQuery ajax 发出 POST 请求
这是 Firefox 的错误还是我做错了什么?我该怎么去调试这个?
非常感谢任何帮助或见解。提前致谢。
允许的标头/方法/...的列表必须用逗号分隔,而不是用空格分隔:
Access-Control-Allow-Headers: X-File-Upload, content-type
Access-Control-Allow-Methods: POST, OPTIONS
尽管对于您当前的用例来说可能没有问题,但您还应该查看以下两个标头:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:*
Either remove Access-Control-Allow-Credentials: true
, or set a non-wildcard Access-Control-Allow-Origin
response header (e.g. http://example.com
), because you cannot share credentials when a wildcard origin is used. "The string "*" cannot be used for a resource that supports credentials." http://www.w3.org/TR/cors/#resource-requests
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)