我一直在尝试向服务器发送一个简单的 iron-ajax 帖子,但它在预检调用中一直失败.对于我的生活,我无法弄清楚发生了什么,服务器上的所有 CORS 标头似乎都是正确的.
I've been trying to make a simple iron-ajax post to the server, but it keeps failing at the preflight call. For the life of me I can't figure out what's going on, all the CORS headers seem to be correct on the server.
响应头
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Methods:GET, POST, PUT, OPTIONS
Access-Control-Allow-Origin:*
cache-control:must-revalidate, private, no-cache, no-store, max-age=0
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:138
Content-Type:text/html
请求标头
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
请求确实是从 localhost 发出的,但我原以为 * 应该处理这个问题.
The request is indeed made from localhost, but I would have thought that the * should take care of that.
控制台中显示的错误是:OPTIONS https://... 403(禁止) 和
Errors that are showing up in the console are:
OPTIONS https://... 403 (Forbidden) and
XMLHttpRequest cannot load https://.... Response for preflight has invalid HTTP status code 403
感谢任何帮助/建议.
403 响应状态表示服务器后端未配置为处理 OPTIONS 请求的一般问题,而不仅仅是 CORS 预检 OPTIONS 请求.
The 403 response status indicates a general problem with the server backend not being configured to handle OPTIONS requests, not just CORS preflight OPTIONS requests.
服务器必须以 2xx 成功状态(通常为 200 或 204)响应 OPTIONS 请求.
The server must respond to OPTIONS requests with a 2xx success status—typically 200 or 204.
如果服务器不这样做,那么您将其配置为发送什么 Access-Control-* 标头没有任何区别.配置它以正确方式处理 OPTIONS 请求(发送 200 或 204 成功消息)的答案取决于它运行的服务器软件.
If the server doesn’t do that, it makes no difference what Access-Control-* headers you have it configured to send. And the answer to configuring it to handle OPTIONS requests in the right way — to send a 200 or 204 success message — depends on what server software it’s running.
这篇关于禁止预检 403 响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
XHR HEAD 请求是否有可能不遵循重定向 (301 302)Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 请求是否有可能不遵循重定向 (301 302))
NETWORK_ERROR:XMLHttpRequest 异常 101NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 异常 101)
XMLHttpRequest 206 部分内容XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分内容)
XmlHttpRequest onprogress 间隔XmlHttpRequest onprogress interval(XmlHttpRequest onprogress 间隔)
如何修改另一个函数接收到的 XMLHttpRequest 响应文How can I modify the XMLHttpRequest responsetext received by another function?(如何修改另一个函数接收到的 XMLHttpRequest 响应文本?)
XMLHttpRequest、jQuery.ajax、jQuery.post、jQuery.get 有什么What is the difference between XMLHttpRequest, jQuery.ajax, jQuery.post, jQuery.get(XMLHttpRequest、jQuery.ajax、jQuery.post、jQuery.get 有什么区别