for (i = 0; i < query.length; i++) {
sessionStorage.setItem("key", JSON.stringify(query[i].id));
alert(sessionStorage.getItem("key"));
}
在上面的for循环中我将id值放在会话存储中,我面临的问题是,如果循环执行多次,那么在sessionStorage中,最后一个值只是存储和加载我的最后一条记录只有价值。
但我希望每次迭代我想要检索id值,并且我必须显示所有值以显示所有记录。
怎么做?
答案 0 :(得分:0)
那是因为您使用的是名为key
的相同密钥。您可以直接对整个对象进行字符串化,而无需编写任何循环:
sessionStorage.setItem('key', JSON.stringify(query));
现在在另一页上:
var query = $.parseJSON(sessionStorage.getItem('key'));
// directly access an element given its index
alert(query[0].id);
// or loop:
for (var i = 0; i < query.length; i++) {
alert(query[i].id);
}
答案 1 :(得分:0)
var z=0;
for (i = 0; i < query.length; i++) {
z=z+1;
sessionStorage.setItem("key"+(Z), JSON.stringify(query[i].id));
}
sessionStorage.setItem("keyResord", JSON.stringify(z));
for(i=0;i<sessionStorage.getItem("keyResord");i++)
{
alert(sessionStorage.getItem("key"));
}
可能会对你有用,它在我的最后工作
答案 2 :(得分:0)
甚至更简单:为什么不使用已经内置的结构和组件? 在发送页面上:
TempData["<your key>"] = JSON.stringify(query)
在接收页面上:
var yourVariable = TempData["Key"]
// at this point @yourVariable on receiving page has the same value as stringified query bu JSON
// as Darin mentioned you access elements like this:
alert(@yourVariable[<your index>].id);