请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

axios.defaults.baseURL还未赋值就已经发起请求

// store.ts
fetchCurrentUser({ commit }) {
	console.log('axios.defaults.baseURL', axios.defaults.baseURL)
	getAndCommit('/user/current', 'fetchCurrentUser', commit)
}
// main.ts
axios.defaults.baseURL = 'http://apis.imooc.com/api'
console.log('axios.defaults.baseURL', axios.defaults.baseURL)

图片描述
问题描述:刷新页面后,App.vue中store.dispatch(‘fetchCurrentUser’)发起请求,此时baseURL还是undefined,导致访问的接口是http://localhost:8080/user/current
然后main.ts里才对baseURL进行赋值,之后再进行登陆也成功了

这种问题应该怎么解决?
是不是用axios.create([config])创建一个新的instance,之后都用这个instance来发送请求会更好?

正在回答

1回答

同学你好欧 main.ts 是我们的入口文件 axios baseURL 肯定是率先赋值的 调用 action 的时候应该已经完成赋值 不知道同学逻辑是怎样写的?或者提供一下源代码,我在本地试试会更容易发现该问题。

1 回复 有任何疑惑可以回复我~
  • 提问者 乌乌星球 #1
    啊,是因为我axios baseURL赋值操作写在app.mount('#app')后面了,没注意顺序。调整顺序后就没问题了,谢谢老师!
    回复 有任何疑惑可以回复我~ 2020-10-28 10:17:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信