【问题标题】:Vuex state returns no response on page reloadVuex 状态在页面重新加载时不返回响应
【发布时间】:2021-09-26 07:04:49
【问题描述】:

我有一个存储登录用户数据状态的 Vuex 身份验证。它在登录期间工作正常,但如果我在登录后重新加载页面,突变有效负载不会返回任何数据,因为由于某种原因 axios 请求 URI 发生更改,它会在重新加载页面后删除 /api 不确定原因。

【问题讨论】:

  • 请检查stackoverflow.com/help/how-to-ask 并为您的情况提供stackoverflow.com/help/mcve。如果您不知道为什么您编写的代码会删除 /api,那么其他用户不会有任何想法,因为他们从未见过它。
  • 我实际上正要编辑我的帖子,但我已经解决了这个问题。我忘记发送获取用户数据请求。谢谢!

标签: vue.js vuex


【解决方案1】:

或者您可以使用 npm 包 vuex-persistedstate,其任务是在页面重新加载之间保持和补充您的 Vuex 状态。

【讨论】:

    【解决方案2】:

    您必须保存从服务器发送的令牌才能执行此操作 为此,当服务器向您发送令牌时,您必须将其保存在浏览器的localstorage 中。 喜欢mutations方法中的这段代码:

    login(state, payload) {
        axios({
            headers: {
                'Content-Type': 'application/json'
            },
            method: 'POST',
            url: 'http://127.0.0.1:8000/api/user/login',
            data: payload
        }).then((response) => {
            if (response.data.token) {
                state.user_token = response.data.token;
                localStorage.setItem('user_token', state.user_token)
            }
        }).catch((error) => {
    console.log(error)
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-05
      • 2019-11-30
      • 2019-06-29
      • 1970-01-01
      • 2020-09-04
      • 2017-08-19
      • 2021-04-30
      • 2021-11-26
      • 2018-11-12
      相关资源
      最近更新 更多