Заголовок ‘Access-Control-Allow-Origin’ отсутствует в запрошенном ресурсе, даже если я использую allow all origins на сервере

#javascript #node.js #http #express #cors

#javascript #node.js #http #выразить #cors

Вопрос:

Я пытаюсь опубликовать данные формы в своем REST API. Даже если я разрешаю все источники, я получаю ошибку cors:

Доступ к XMLHttpRequest в ‘https://api.mydomain.com/route ‘ из источника’https://subdomain.mydomain.com ‘ заблокирован политикой CORS: заголовок ‘Access-Control-Allow-Origin’ отсутствует на запрошенном ресурсе.

Это мое промежуточное программное обеспечение на моем сервере express:

 app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");

  res.header(
    "Access-Control-Allow-Methods",
    "POST"
  );

  res.header("Access-Control-Allow-Headers", "X-Requested-With,content-type");

  next();
});
  

В чем здесь проблема?

Комментарии:

1. app.use записывается перед app.get(‘/’) ?

2. Да, app.use записывается перед app.post()

Ответ №1:

Попробуйте добавить заголовок в свой ответ на сервере https://subdomain.mydomain.com

Это сработало для меня в Asp.net Веб-API

Ответ.AddHeader(«Access-Control-Allow-Origin», «*»);