【问题标题】:undefined while using getItem使用 getItem 时未定义
【发布时间】:2018-07-08 13:36:28
【问题描述】:

我正在尝试在 javascript 中的两个页面之间发送一个对象,但我知道我正在使用 tomcat 服务器而变得不确定 这是第一页中的第一个功能:

$http.get('rest/client/authentifier/'+$scope.nouveauClient.numerocompte + '/' + $scope.nouveauClient.mdp)
.then(function(clientresult) {
    window.localStorage.setItem("client",clientresult.data);
    parent.location = "acceuilClient.html";
})

这是第二页中的第二个功能:

var user;

$scope.display = function()
{
    user =  window.localStorage.getItem('client');
    alert("amal  "+user.idclient);
}

【问题讨论】:

  • 网址是否不同? LocalStorage 是来自此post 的特定域。
  • 不,当我发送 window.localStorage.setItem("client",clientresult.data.idclient);我明白了,否则我会不确定

标签: javascript angularjs


【解决方案1】:

您不能在 localStorage 中存储 JavaScript 对象,只能存储字符串。

无论您在window.localStorage.setItem("client",clientresult.data); 中存储什么,都不会检索具有属性的对象。

当调用user.idclient 时,您正在调用字符串上的idclient 属性,这将产生未定义的结果。试试

user =  window.localStorage.getItem('client');
console.log(user)

它可能会输出

[对象对象]

您需要做的是存储键/值对,例如:

window.localStorage.setItem("idclient", clientresult.data.idclient);

您可能需要先检查idclient 是否存在于clientresult.data 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多