CORS 无缘无故地阻止响应
CORS is blocking response for no reason
我正在向我的服务器发出 POST 请求,浏览器正在使用 CORS 策略阻止响应(缺少 Access-Control-Allow-Origin header),但是当我请求相同的 url通过 Postman,header 就在那里。这是我对 Postman 的回复 header:
当我尝试执行 POST 请求时,这是浏览器(在本例中为 chrome)错误:
这是怎么回事?
在非简单请求的情况下,浏览器向相同的 url 发出预检 OPTIONS 请求以检查服务器是否允许跨站点请求。因此,在我允许所有 CORS 限制的情况下为 OPTIONS 请求添加新路由解决了这个问题。
...
if (webServer.method() == HTTP_OPTIONS) {
webServer.sendHeader("Access-Control-Allow-Origin", "*");
webServer.sendHeader("Access-Control-Allow-Methods", "*");
webServer.sendHeader("Access-Control-Allow-Headers", "*");
webServer.sendHeader("Timing-Allow-Origin", "*");
webServer.send(204);
} else {
...
我正在向我的服务器发出 POST 请求,浏览器正在使用 CORS 策略阻止响应(缺少 Access-Control-Allow-Origin header),但是当我请求相同的 url通过 Postman,header 就在那里。这是我对 Postman 的回复 header:
当我尝试执行 POST 请求时,这是浏览器(在本例中为 chrome)错误:
这是怎么回事?
在非简单请求的情况下,浏览器向相同的 url 发出预检 OPTIONS 请求以检查服务器是否允许跨站点请求。因此,在我允许所有 CORS 限制的情况下为 OPTIONS 请求添加新路由解决了这个问题。
...
if (webServer.method() == HTTP_OPTIONS) {
webServer.sendHeader("Access-Control-Allow-Origin", "*");
webServer.sendHeader("Access-Control-Allow-Methods", "*");
webServer.sendHeader("Access-Control-Allow-Headers", "*");
webServer.sendHeader("Timing-Allow-Origin", "*");
webServer.send(204);
} else {
...