Axios baseURL отправляет непреднамеренный запрос на получение - PullRequest
0 голосов
/ 24 января 2019

Определение axios.defaults.baseURL = baseUrl; отправляет странный запрос на получение сразу после инициализации моего приложения Vue.Был бы признателен за вашу помощь!

Изображения кода и сетевых запросов приведены ниже:

Пытался использовать Установка baseUrl для Axios в Vue js отправляет запрос

Но это не сработало для меня

import axios from 'axios';

export const baseUrl = 'http://imfood-core.local';

axios.defaults.baseURL = baseUrl;

axios.interceptors.request.use(function (request) {
  if(request.url !== `/api/login_check`){
    request.headers['Authorization'] = `Bearer ${localStorage.getItem('token')}`
  }
  return request;
}, function (error) {
  return Promise.reject(error);

});

axios.interceptors.response.use(function (response) {
  axios.defaults.baseURL = baseUrl;
  return response;
}, function (error) {
  if(error.response && error.response.status == 401 && error.config.url !== `${baseUrl}/api/login_check`){
      localStorage.removeItem('token');
      window.location.reload();
      return Promise.reject(error);
  }
  return Promise.reject(error);
});

export default axios;



[1]: https://i.stack.imgur.com/6E9dD.png
[2]: https://i.stack.imgur.com/fnBST.png
[3]: https://i.stack.imgur.com/7sy5z.png

1 Ответ

0 голосов
/ 24 января 2019

Вы можете создать новый экземпляр axios, а затем предоставить его своим файлам, просто импортировав этот файл.

import axios from 'axios'

const client = axios.create({
  baseURL: 'http://imfood-core.local'
})

client.interceptors.request.use(function (request) {
  if(request.url !== `/api/login_check`){
    request.headers['Authorization'] = `Bearer ${localStorage.getItem('token')}`
  }
  return request;
}, function (error) {
  return Promise.reject(error);

});

...

export default client
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...