【发布时间】:2018-09-10 18:13:12
【问题描述】:
我正在尝试使用 localStorage 在页面之间传递变量。在java中我填充了一个列表:
output.add(0, accountGroup.getAccountId());
output.add(1, accountGroup.getLevel());
output.add(2, accountGroup.getGroupName());
output.add(3, "0");
output.add(4, accountGroup.getGroupSection());
output.add(5, accountGroup.getGroupNAS());
output.add(6, nextView);
String json = new Gson().toJson(output);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
然后我尝试将每个变量存储在 ajax 中:
.done(function(responseJson){
dataType: "json";
localStorage.setItem('lsAccountID', $('#temp').val(responseJson[0]));
alert(localStorage.getItem('lsAccountID'));
localStorage.setItem('lsAccountLevel', $('#temp').val(responseJson[1]));
localStorage.setItem('lsGroupName', $('#temp').val(responseJson[2]));
localStorage.setItem('lsNoGroupsStarted', $('#temp').val(responseJson[3]));
localStorage.setItem('lsGroupSection', $('#temp').val(responseJson[4]));
localStorage.setItem('lsGroupNAS', $('#temp').val(responseJson[5]));
localStorage.setItem('lsNextView', $('#temp').val(responseJson[6]));
window.location.assign("SelectPerson.html");
})
这没有存储正确的值(在这种情况下为“7”),这由“alert(localStorage.getItem('lsAccountID'));”显示返回“[object Object]”而不是“7”。我知道“7”正在由“output.add(0, accountGroup.getAccountId());”存储通过添加“System.out.println”。
【问题讨论】:
-
不要
alert调试的东西。使用browser console (dev tools)(点击F12)并使用console.log。 -
为什么需要这个?
-
如果您想查看比
[object Object]更多的细节,比如该对象的实际内容,那么console.log将是最好的方法。 -
嗨 Xufox,日志如下,我认为这不等同于这个问题: Uncaught Error: Syntax error, unrecognized expression: null at Function.fa.error (jquery .min.js:2) 在 fa.tokenize (jquery.min.js:2) 在 fa.select (jquery.min.js:2) 在 Function.fa [as find] (jquery.min.js:2)在 n.fn.init.find (jquery.min.js:2) 在新的 n.fn.init (jquery.min.js:2) 在 n (jquery.min.js:2) 在 Object. (selectPerson-ajax.js:29) 在 i (jquery.min.js:2) 在 Object.fireWith [as resolveWith] (jquery.min.js:2)
-
有趣的是人们在不提供 cmets 的情况下投票。我想他们也不知道答案。