首页 > 解决方案 > 在获取结构以获取结果期间出现问题 [VueJs]

问题描述

我将从 HTTP 请求中获得的所需信息保存到结构中,并尝试将其保存到本地存储中,但是当我尝试获取本地存储项并在结构中打印一个值时,它不起作用!

我的代码如下:

//The response result I got from Http request.
.then(function(response) {

    //Save the needed UserInformation into struct.
    let CurrentUser = {
       username: response.data.result.User.username,
       name: response.data.result.User.name,
       token: response.data.result.token,
       id: response.data.result.User.id,
     }

    //Save the user information into the local storage.
    localStorage.setItem("CurrentUser", JSON.stringify(CurrentUser));
    var Curr_user = localStorage.getItem("CurrentUser");
    console.log(Curr_user);
    console.log("the name of the current user: " + Curr_user['name']);

})

我得到的结果如下:

{"username":"Myusername","name":"Myname","token":"XXXXXX","id":"YYYYYY"}
the name of the current user: undefined

我想从本地存储中获取用户名或 ID,因为我在其他页面中需要它们。

标签: javascriptvue.jsvuejs2

解决方案


localStorage将所有内容存储为字符串,因此您需要先解析此 JSON 字符串,然后才能将其作为对象进行访问。

这一行:

localStorage.setItem("CurrentUser", JSON.stringify(CurrentUser));
var Curr_user = JSON.parse(localStorage.getItem("CurrentUser"));

推荐阅读