【问题标题】:VueJS set base URL headersVueJS 设置基本 URL 标头
【发布时间】:2018-03-12 11:16:14
【问题描述】:

我正在开发一个基于令牌的身份验证系统。

我成功捕获并保存了idToken 中的store.js

然后我创建一个getter 来返回这个idToken 值:

returnToken(state) {
  return state.idToken
}

到目前为止一切正常。我可以通过 vue 开发者工具在两个地方(stategetters)看到 idToken 的值。

然后在 ma​​in.js 我添加了一个计算属性:

export default {
  computed: {
    returnToken(){
      return this.$store.getters.idToken
    }
  }
}

最后我添加了

axios.defaults.headers.common['Authorization']=this.returnToken

Authorization 标头在开发者工具网络中是 undefined

我该如何解决这个问题以及如何检查它是否成功到达 main.js?

【问题讨论】:

  • 您将 getter 命名为 returnToken,并且在您使用 this.$store.getters.idToken 访问的计算属性中。因此,将您的 ccomputed 属性更改为返回 this.$store.getters.returnToken
  • @VamsiKrishna 我认为你的答案是正确的
  • 我试过了,但结果是一样的
  • this.$store.state.idToken
  • 那个 axios.defaults.headers ... 在哪里?是在 main.js 里面吗?

标签: vue.js vuejs2 axios vuex


【解决方案1】:

如果你有一个 getter 如下:

returnToken(state){
    return state.idToken;
}

然后在组件中,access the getter using:

export default {
    computed: {
        returnToken(){
            return this.$store.getters.returnToken; // was getters.idToken
                                    // ^^^^^^^^^^^ --- changed this part
        }
    }
}

OR,在组件中,access the state using

export default {
    computed: {
        returnToken(){
            return this.$store.state.idToken;  // was getters.idToken
                            // ^^^^^ ------------ changed this part
        }
    }
}

【讨论】:

  • 我尝试了这两种方法,但它说 idToken 是未定义的,而且它不是 main.js 文件的组件。这可能是问题吗?
  • 试试:store.state.idToken
猜你喜欢
  • 1970-01-01
  • 2019-10-30
  • 2020-02-28
  • 2012-08-28
  • 2015-11-30
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2021-08-22
相关资源
最近更新 更多