【问题标题】:Express CORS module not allowing access to resourcesExpress CORS 模块不允许访问资源
【发布时间】:2017-12-28 21:12:49
【问题描述】:

我正在使用来自 npm 的 cors 模块并将 CORS 设置为对任何流量启用。我的代码 sn-p 看起来像这样。

const express = require('express');
const cors = require('cors');
const app = express();

// express app to use cors
app.use(cors())

当我使用外部客户端 (Vue) 从我的 Node.JS 服务器访问我的登录 API 时,我收到一条错误提示

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:8080' 不允许访问。响应的 HTTP 状态代码为 403。

如果我没记错的话,在没有任何选项的情况下实例化 cors 将允许所有请求,而不管来源如何。这里出了什么问题?

【问题讨论】:

标签: javascript node.js cors


【解决方案1】:

您是否尝试过启用 CORS Pre-Flight?

某些 CORS 请求被认为是“复杂的”,需要初始 OPTIONS 请求(称为“飞行前请求”)

app.options('*', cors())

【讨论】:

  • 您好,感谢您的回复。根据您的建议,我更改了代码以为所有飞行前请求启用 CORS,但是,我仍然遇到我在原始问题中提到的相同错误(我使用了 app.options('*', cors() )) 在我的任何路线之前。
猜你喜欢
  • 2021-05-08
  • 2021-09-07
  • 2020-05-03
  • 2017-12-28
  • 2019-02-09
  • 2016-06-02
  • 2016-03-15
  • 2022-01-14
相关资源
最近更新 更多