【问题标题】:Access blocked by CORS in express server快速服务器中的 CORS 阻止访问
【发布时间】:2020-10-24 20:09:55
【问题描述】:

向我的 express 服务器发送 POST api 请求时出现以下错误。

Access to XMLHttpRequest at 'localhost:8081/application' from origin 'localhost:8083' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

快递服务器正在使用npm cors包和passport jwt认证策略。

privateServer.use(cors());
registerJWTAuthentication();
  privateServer.all('*', authenticate('jwt', {
    session: false,
  }));
privateServer.addRouter('/application', privateApplicationRouter);

我正在使用 axios 从 nuxtjs 应用程序发送此请求。

const result = await axios.post('localhost:8081/application', payload);

有人知道如何解决这个 CORS 问题吗?

【问题讨论】:

  • 我建议对问题标题进行编辑 - “如何处理 CORS 问题”的答案将类似于“哭到深沉的井中”或“全部烧掉然后走开”????
  • 不工作。我也有一个公共服务器(没有我们的身份验证),它可以在我们进行任何更改的情况下工作。
  • 尝试在前端的 axios 请求中添加 'Access-Control-Allow-Origin': '*'。通常,cors 在本地计算机上运行时会启用所有来源。一旦我将它部署到无服务器环境和其他服务器的东西,我什至遇到了问题。也许这有帮助:/

标签: typescript express cors passport.js nuxtjs


【解决方案1】:

cors 中间件允许您传递选项,您可以执行以下操作:

  {
      "origin": "localhost:8083",
      "credentials": true,
  }

请注意,'origin' 可以接受您允许的来源数组,并且您的请求还应包含:

 {
     credentials: 'include',
 }

为了发送 cookie,

希望对你有帮助...

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 2021-10-11
    • 1970-01-01
    • 2023-01-23
    • 2019-12-16
    • 2012-04-18
    • 2022-01-03
    • 2014-12-14
    • 2018-02-13
    相关资源
    最近更新 更多