首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在nuxt服务器init中为客户端设置axios令牌?

如何在nuxt服务器init中为客户端设置axios令牌?
EN

Stack Overflow用户
提问于 2018-06-26 17:09:47
回答 2查看 4.4K关注 0票数 1

当页面加载时,我试图验证我的用户。因此,我有以下代码:

代码语言:javascript
运行
复制
actions: {
      nuxtServerInit ({dispatch, commit, app}, context) {
        return new Promise((resolve, reject) => {
          const cookies = cparse.parse(context.req.headers.cookie || '')
          if (cookies.hasOwnProperty('x-access-token')) {
            app.$axios.setToken(cookies['x-access-token'], 'Bearer')
            api.auth.me2()
              .then(result => {
                commit('setUser', result.data.user)
                resolve(true)
              })
              .catch(error => {
                commit('resetUser')
                resetAuthToken()
                resolve(false)
              })
          } else {
            resetAuthToken()
            resolve(false)
          }
        })
      }

但是,我有以下错误:无法读取未定义的$axios属性。我的密码怎么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-26 22:56:51

应用程序应该来自上下文,例如来自第二个论点。所以你的代码应该是

代码语言:javascript
运行
复制
context.app.$axios.setToken(cookies['x-access-token'], 'Bearer')
票数 4
EN

Stack Overflow用户

发布于 2018-08-14 19:34:02

另一种方式。您可以在第二个参数中传递app,这样

代码语言:javascript
运行
复制
nuxtServerInit ({dispatch, commit}, {app}) {

完整的代码:

代码语言:javascript
运行
复制
actions: {
  nuxtServerInit ({dispatch, commit}, {app}) {
    return new Promise((resolve, reject) => {
      const cookies = cparse.parse(context.req.headers.cookie || '')
      if (cookies.hasOwnProperty('x-access-token')) {
        app.$axios.setToken(cookies['x-access-token'], 'Bearer')
        api.auth.me2()
          .then(result => {
            commit('setUser', result.data.user)
            resolve(true)
          })
          .catch(error => {
            commit('resetUser')
            resetAuthToken()
            resolve(false)
          })
      } else {
        resetAuthToken()
        resolve(false)
      }
    })
  }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51048217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档