【问题标题】:Nodejs Cors issue Nodejs and React (production)Nodejs Cors 发布 Nodejs 和 React(生产)
【发布时间】:2023-03-18 19:44:01
【问题描述】:

我在从浏览器获取请求时遇到问题,这很烦人! 任何提示都非常感谢。 提前致谢!

我的nodejs设置如下:

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

app.use(
  cors({
    origin: "*",
    methods: "GET,POST",
    allowedHeaders: "Content-Type,Authorization",
    credentials: true,
    preflightContinue: true,
  })
);
app.use(express.json());
....

在 Reacr Axios 请求中如下

const getComments = () => {
  const config = {
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json",
      "Access-Control-Allow-Origin": "*",
    },
    method: "GET",
    url: `${url}/all`,
    withCredentials: true,
    crossorigin: true,
    "Access-Control-Allow-Origin": "*",
  };
  return axios(config)
    .then(serviceHelper.onGlobalSuccess)
    .catch(serviceHelper.onGlobalError);
};

Cors Error I am getting

【问题讨论】:

  • 你能显示你试图从中获得的路线和 ${url} 的价值吗?我曾经遇到过类似的问题,这是由于错字而不是真正的 cors

标签: node.js reactjs cors setup-deployment


【解决方案1】:

这一行

allowedHeaders: "Content-Type, Authorization"

告诉服务器只允许这些标头。如果您查看您的请求,您会看到此标头。

"Access-Control-Allow-Origin": "*"

这将在发出请求时包含在标头中。这被服务器拒绝了。

试试这个

const getComments = () => {
  const config = {
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json",

    },
    method: "GET",
    url: `${url}/all`,
    withCredentials: true,
  };
  return axios(config)
    .then(serviceHelper.onGlobalSuccess)
    .catch(serviceHelper.onGlobalError);
};

问候, 周杰伦

【讨论】:

  • 伙计谢谢!我无法图像交叉原点是问题:)。
  • 如果这有帮助,那么您可以接受我的回答。谢谢。
  • 嗨,jayakarthikeyan!对不起,我刚刚做了!谢谢!
【解决方案2】:

你可以在你的 nodejs 代码中试试这个

const express = require('express');
let server = express();
server.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With,Content-Type,Accept'
  );
  next();
});

【讨论】:

  • 嗨,Bhagyashri,非常感谢!我之前尝试过这种方法,显然正如 Jayakarthikeyan 提到的那样,我所要做的就是删除 Axios 调用 _(ツ)_/¯ 中的交叉原点,它现在正在工作!
猜你喜欢
  • 2018-12-03
  • 2018-07-31
  • 2018-06-06
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 1970-01-01
相关资源
最近更新 更多