Почему политики CORS блокируют мой IP из моего API? - PullRequest
0 голосов
/ 24 апреля 2019

когда я делаю запрос к моему API в производственном процессе, я получаю эту ошибку

Access to XMLHttpRequest at 'http://...:300/api/ext/companies/sort=%22code%22:-1&limit=1' from origin
'http://...:90' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

Как мне решить эту проблему?

мой фронтенд разработан в угловом 5.

мой API разработан в nodejs, и это моя конфигурация

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Authorization, Database');
  res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
  res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');

  next();
});

1 Ответ

1 голос
/ 24 апреля 2019

Установите этот пакет .

Вместо:

const express = require("express");

Попробуйте это:

const express = require("express").use("*", cors());

И удалите его:

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Authorization, Database');
  res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
  res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');

  next();
});
...