CORS Origin Request не разрешен. Реагировать Express - PullRequest
0 голосов
/ 10 февраля 2020

Я использую реагирование & express для простой формы, и я получаю это, когда отправляю свою форму реагирования на express сервер

Access to XMLHttpRequest at 'http://localhost:4000/api/user' from origin 'http://localhost:9000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

И это то, что я пробовал в своей express сервер. js:

const cors = require("cors");

app.use(
  cors({
    origin: "*",
    credentials: true
  })
);

и в моем middlevvare

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "localhost:9000");
  res.header("Access-Control-Allow-Credentials", true);
  res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
});

я попытался опубликовать запрос по топору ios:

axios
 .post("http://localhost:4000/api/user", data)
 .then(() => console.log("Tadaaa"))
 .catch(err => {
   console.error(err);
});

Ответы [ 3 ]

1 голос
/ 10 февраля 2020

CORS-запросы с credentials: true не будут работать с origin: "*". Если вы хотите sh включить учетные данные, то вам нужно указать свое происхождение, которое также не работает с localhost. Поэтому я бы рекомендовал не включать учетные данные, если ваше приложение не размещено в Интернете.

См. здесь для получения дополнительной информации о CORS и о том, как оно работает.

0 голосов
/ 10 февраля 2020

Исправлена ​​ошибка, передавая app.use(cors()); перед маршрутами

0 голосов
/ 10 февраля 2020

Существует ли пользовательская конечная точка API? В противном случае попробуйте передать промежуточное программное обеспечение Cors без дополнительных опций.

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