Nodejs Cors issue Nodejs и React (производство) - PullRequest
0 голосов
/ 08 июля 2020

У меня проблема с получением запросов от браузера, и это меня раздражает! Любые подсказки приветствуются. Заранее спасибо!

У меня 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 Ax ios запросы, как показано ниже

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 Ошибка:

Ответы [ 2 ]

1 голос
/ 08 июля 2020

Вы можете попробовать это в своем 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();
});
0 голосов
/ 08 июля 2020

Эта строка

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);
};

С уважением, Джей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...