Vue 应用程序正在删除 Axios baseURL
Vue application is dropping Axios baseURL
我在新的 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
这在我登录时工作正常,但是在我被重定向 post-login (/sign-up) 然后导航到新页面 (/sign-up/inventory) 之后,我尝试了以下操作axios 调用并获得 404,因为无法再找到 baseURL。
axios.get('myapi/myreport/mydata/').then(function (response) {
console.log(response)
})
.catch(e => {
console.log(e)
})
}
如果我在 axios 调用之前记录 window.axios.defaults.baseURL,我会得到一个错误 ("Cannot read property 'defaults' of undefined"),所以大概 axios 甚至没有加载?我应该检查什么才能解决这个问题?
我在 main.js 上将 axios 代码移到了我的应用程序实例化之上,这似乎已经修复了它。
我在新的 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
这在我登录时工作正常,但是在我被重定向 post-login (/sign-up) 然后导航到新页面 (/sign-up/inventory) 之后,我尝试了以下操作axios 调用并获得 404,因为无法再找到 baseURL。
axios.get('myapi/myreport/mydata/').then(function (response) {
console.log(response)
})
.catch(e => {
console.log(e)
})
}
如果我在 axios 调用之前记录 window.axios.defaults.baseURL,我会得到一个错误 ("Cannot read property 'defaults' of undefined"),所以大概 axios 甚至没有加载?我应该检查什么才能解决这个问题?
我在 main.js 上将 axios 代码移到了我的应用程序实例化之上,这似乎已经修复了它。