Vue应用程序正在放弃Axios baseURL

时间:2017-04-18 16:59:15

标签: vue.js axios vue-router vuex

我在一个新的Vue应用程序中实现JWT身份验证并且遇到了问题。我正在使用webpack CLI模板FWIW。

在我的main.js中,在声明我的Vue应用程序后,我有以下代码:

window.axios = axios
window.axios.defaults.baseURL = 'https://example.com'
if (localStorage.getItem('token') !== null) {
  window.axios.defaults.headers.common['authorization'] = 'Token ' + 
    localStorage.token
}
Vue.router = router

我登录时工作正常,但是在我重新定位后登录(/注册)然后导航到新页面(/注册/库存)我尝试以下axios调用并获取404因为无法再找到baseURL。

axios.get('myapi/myreport/mydata/').then(function (response) {
  console.log(response)
})
  .catch(e => {
    console.log(e)
  })
}

如果我在axios调用之前记录window.axios.defaults.baseURL我得到一个错误(“无法读取属性'默认值'未定义”)所以假设axios甚至没有加载?我应该检查什么才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

我将axios代码移到了main.js上的app实例化之上,似乎修复了它。