node.js - 对预检请求的响应未通过访问控制检查 : No 'Access-Control-Allow-Origin' header is present on the requested resource.

标签 node.js express cors fetch

我正在使用 nodejs 服务器、express 框架和 fetch 库将请求发送到不同域中的另一台服务器。对于我的端点之一,考虑 (localhost:8080/login) 当用户单击登录按钮时,我正在呈现 ejs 文件,我正在向其他域中的 api (https:otherserver.com/login) 不同服务器发送获取请求。我无法发送此请求。我收到此错误:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin” header 。产地' http://localhost:8080 ' 因此不允许访问。响应的 HTTP 状态代码为 404。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

我不确定如何处理这个问题。请提出一些可以解决此问题的想法或链接。

最佳答案

您可以使用 cors服务器上的中间件。

最简单的使用方法是添加:

app.use(cors())

在所有路由处理程序之前。

关于node.js - 对预检请求的响应未通过访问控制检查 : No 'Access-Control-Allow-Origin' header is present on the requested resource.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47431763/

相关文章:

javascript - 检查 Webdriver 浏览器是否仍然打开

node.js - 使用 Passport 注册后防止用户身份验证

java - 跨域javascript函数调用?

javascript - get 方法工作,但不是 post - ZapWorks Studio

javascript - 使用 nodejs 和 redis 调用的多阶段自动完成。如何确保在完成所有操作后返回

javascript - Stylus 从错误的文件夹导入 styl 文件

node.js - 获取连接到我的本地 Express 服务器的系统的 IP

javascript - 为什么我的函数返回 unicode 替换字符

javascript - 访问req.user将id保存到mongoDB

ssl - 我可以在子域上使用通配符 ssl 证书,同时在域上使用基本 ssl 证书吗?