В моем API Heroku Express не допускается совместное использование ресурсов между источниками - PullRequest
0 голосов
/ 15 апреля 2019

Внешний клиент размещен по адресу https://project -front.herokuapp.com .он вызывает API-интерфейс, размещенный по адресу https://project -api.herokuapp.com / (это не фактические URL-адреса).Всякий раз, когда я делаю вызов API, я получаю

Access to XMLHttpRequest at 'https://project-api.herokuapp.com/login' from origin 'https://project-front.herokuapp.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://project-api.herokuapp.com/' that is not equal to the supplied origin.

и

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://appli-api.herokuapp.com/login with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

Очевидно, что это проблема CORS.Мой server.js имеет

app.use(cors())

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", '*');
  res.header("Access-Control-Allow-Credentials", true);
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header("Access-Control-Allow-Headers", 'Origin,X-Requested-With,Content-Type,Accept,content-type,application/json');
  next();
});

, и каждый из файлов маршрутизатора, содержащий мои файлы маршрутов, также имеет

// parse application/x-www-form-urlencoded
router.use(bodyParser.json()); // support json encoded bodies
router.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

Следует также отметить, что мой .gitignore включает node_modules в порядкедля bcrypt поработать над герокой.Как мне сдать CORS?

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