Заголовок 'Access-Control-Allow-Origin' отсутствует .. угловой 7 и экспресс - PullRequest
0 голосов
/ 13 ноября 2018

Я использую сервер с экспресс-портом 3000 и клиент с угловым значением 7 на порте 4200. Как только я сделаю запрос, я столкнусь с проблемой CORS.

Доступ к XMLHttpRequest по адресу http://localhost:3000/drug' from origin 'http://localhost:4200' заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

Я испробовал все решения онлайн, какс использованием пакета cors и установки промежуточного программного обеспечения перед маршрутизатором, как показано ниже ( Angular 6 - в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin»).Но это все еще не решено и продолжает получать те же самые ошибки.У кого-нибудь есть такая же проблема, что CORS не решается всеми решениями?Не могли бы вы мне помочь?

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
  res.header(
    "Access-Control-Allow-Header",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  next();
});

app.use((req, res, next) => {
      res.header("Access-Control-Allow-Origin", "http://localhost:4200");
      res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
      res.header(
        "Access-Control-Allow-Header",
        "Origin, X-Requested-With, Content-Type, Accept"
      );
      next();
    });

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

Я думаю, что ответ будет слишком поздно, но для кого-то в будущем:
Вы должны включить его на стороне сервера. Я разработчик .Net, поэтому покажу на примере основного приложения .Net. В методе запуска файла ConfigureServices необходимо добавить следующий код

services.AddCors(options =>
        {
            options.AddPolicy("CorsPolicy",
                builder => builder.WithOrigins("http://localhost:4200")
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials());
        });

После этого вам следует отредактировать метод Configure. Добавьте следующую строку перед вызовом UseMvc

app.UseCors("CorsPolicy");

Вот и все. Надеюсь, этот ответ кому-нибудь поможет.

0 голосов
/ 13 ноября 2018

Поставьте эту строку кода app.use(cors()); перед кодом маршрутизации. (Предполагается, что вы установили пакет cors).

...