CORS 错误:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态
Posted
技术标签:
【中文标题】CORS 错误:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态【英文标题】:CORS Error : Response to preflight request doesn't pass access control check: It does not have HTTP ok status 【发布时间】:2021-03-17 01:41:55 【问题描述】:我不知道是什么导致了这个错误。我设置了所有正确的标题和所有正确的方法。这是我的 Node Js 服务器:
完全错误:登录:1 从源“http://localhost:4200”访问 XMLHttpRequest 在“http://localhost:3000/”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。 zone-evergreen.js:2845 POST http://localhost:3000/net::ERR_FAILED
const path = require("path");
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded( extended: false ));
app.use((req, res, next) =>
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
res.setHeader(
"Access-Control-Allow-Methods",
"GET,PUT, POST, PATCH, DELETE, OPTIONS"
);
next();
);
我从 Angular 应用程序从 http://localhost:4200 发送 POST 请求并将其与 MongoDB 服务器连接。
如果有人可以帮助我,那就太好了。
【问题讨论】:
【参考方案1】:有几种方法可以解决/解决此问题。
-
关闭 CORS。例如:https://***.com/questions/3102819/disable-same-origin-policy-in-chrome
为您的浏览器使用插件:https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en
使用 nginx 等代理。 http://nginx.org/en/docs/beginners_guide.html
为您的服务器完成必要的设置。这更是一个
您在 EC2 实例上加载的 Web 服务器的因素
(假设这就是您所说的“亚马逊网络服务”)。为您
具体服务器可以参考enable CORS website.
【讨论】:
以上是关于CORS 错误:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态的主要内容,如果未能解决你的问题,请参考以下文章
Cloud Functions Cors 错误“对预检请求的响应未通过访问控制检查”
cors 策略错误:对预检请求的响应未通过访问控制检查:没有'Access-Control-Allow-Origin
CORS 错误:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态
角 POST 请求被 CORS 策略阻止:对预检请求的响应未通过访问控制检查