ASP.NET5 MVC 6 CORS vue.JS запрос не разрешен

Я застрял на чем-то. I test my api from Chome postman app with requests like:

http://localhost:50000/api/user/user_name/machines

и это работает.
Я начал строить фасад в vue.js и попробуйте следующее:

getReports() {
    this.$http
      .get('http://localhost:50000/api/user/user_name/machines', (data) => {
        this.data = data;
      })
      .error((err) => console.log(err))
  }

и конечно я получаю

XMLHttpRequest не удается загрузить http://localhost:50000/api/user/user_name/machines . Ответ на запрос preflight не проходит проверку контроля доступа: на запрашиваемом ресурсе нет заголовка «Access-Control-Allow-Origin». Origin ‘http://localhost:8080» поэтому доступ запрещен.

Я раньше пробовал некоторые реагировать.js и наткнулся на ту же проблему, так как тогда я просто добавил

services.AddCors();

и

app.UseCors(builder => builder.AllowAnyOrigin());

моему стартапу.cs файл, но не повезло на этот раз. Помню, это сработало на react.js. Я также могу получить данные непосредственно из браузера — просто перейдя по этому url. Почему vue.у js есть проблемы?

мой стартап.cs файл:
http://pastebin.pl/view/b93c9e2c

1 ответ

  1. Вы сталкиваетесь с ограничениями Cross Origin Request (cors). Это обычно происходит, когда вы используете полный url-адрес при выполнении запроса сервера, который является другим источником, чем размещающий документ.

    В вашем примере вы используете http://localhost:50000/api/user/user_name/machines в вашем запросе. По возможности можно использовать относительный путь, например /api/user/user_name/machines, поэтому запрос будет сделан на основе url, введенного в браузере. Это позволит убедиться, что браузер не отправляет запрос перед полетом.