CORS блокирует запрос клиента в Nuxt.js - PullRequest
0 голосов
/ 31 марта 2019

У меня возникают проблемы при отправке клиентского запроса.

Я следовал документации по Nuxt.js и Axios , но я все еще не могу заставить ее работать. Может быть, я что-то упустил ..

Компонент My Vue, вызывающий действие vuex :

methods: {
  open() {
    this.$store.dispatch('events/getEventAlbum');
  }
}

Действие в vuex :

export const actions = {
  async getEventAlbum(store) {
    console.log('album action');
    const response = await Axios.get(url + '/photos?&sign=' +   isSigned + '&photo-host=' + photoHost);
    store.commit('storeEventAlbum', response.data.results);
  }
};

И мой nuxt.js.config

modules: [
  '@nuxtjs/axios',
  '@nuxtjs/proxy'
],

axios: {
  proxy: true
},

proxy: {
  '/api/': { target: 'https://api.example.com/', pathRewrite: {'^/api/': ''} }
}

Кто-нибудь может помочь?

1 Ответ

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

Я полагаю, что проблема, на которую @ andrew1325 пытается указать, заключается в том, что провайдеру API необходимо включить CORS, а не только ваш сервер, без изменения заголовков в прокси-сервере.те же самые заголовки, которые на данный момент препятствуют доступу.

Мне кажется, что вам не хватает только changeOrigin

, пожалуйста, попробуйте следующий конфиг:

modules: [
  '@nuxtjs/axios',
  '@nuxtjs/proxy'
],

axios: {
  proxy: true
},

proxy: {
  '/api/': { target: 'https://api.example.com/', pathRewrite: {'^/api/': ''}, changeOrigin: true }
}

также убедитесь, что ваш интерфейсный URL API указывает на ваш прокси-запрос /api

...