Vue-ресурс заблокирован политикой CORS - PullRequest
0 голосов
/ 14 марта 2019

Я знаю, что есть некоторые подобные шаги, но ни одно решение не помогло мне.

Я создаю приложение с Ruby on Rails и Vue.В настоящее время я пытаюсь получить токен доступа Spotify от моего пользователя.Поэтому мне просто нужно создать запрос get и дождаться ответа.

Он отлично работает из представления, созданного с помощью Rails, но не из моего приложения Vue.

Это ошибка в моемconsole:

Access to XMLHttpRequest at 'https://accounts.spotify.com/authorize?client_id=261c008xxxxxx52da843b8096d&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fspotify%2Fcallback&response_type=code&scope=playlist-modify-public+user-read-email&state=5987fec3952e0c46332183c526d0abef2f0d35a13e39694e' (redirected from 'http://localhost:3000/auth/spotify') from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

В запрашиваемом ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'. , но если мы проверяем заголовки:

headers В моем файле JS у меня есть:

Vue.http.interceptors.push(function (request, next) {
  request.headers.set('Content-Type', 'application/json');
  request.headers.set('Access-Control-Allow-Origin', '*');
  request.headers.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  request.headers.set('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
  request.headers.set('X-CSRF-Token', document.getElementsByName('csrf-token')[0].content);
  next();
});

Я не знаю, где искать, у вас есть идея?Я уже пытался установить расширение chrome, разрешить все источники на моем сервере, заменить Vue-ресурс на Axios, установить cors с узлом ...

1 Ответ

0 голосов
/ 14 марта 2019

Access-Control-Allow-Origin должен быть заголовком ответа , а не заголовком запроса. Ваш бэкэнд API должен установить его.

...