【发布时间】:2015-12-22 04:25:47
【问题描述】:
我有使用 sessionStorage 将数据从一个视图移动到另一个视图的客户端应用程序。我的代码是:
$("#reportGrid").find("input:checked").each(function () {
rows.push($(this).closest('tr'));
var dataItem = grid.dataItem($(this).closest('tr'));
console.log("TicketNumber => " + dataItem.ticketNumber + " " + dataItem.lineNumber);
// store dataItem in session Storage;
sessionStorage.setItem('selectedRecords', JSON.stringify(dataItem));
var retrievedObject = JSON.parse(sessionStorage.getItem('selectedRecords'));
console.log("Begin -----------");
console.log("userSelectedRecords => " + retrievedObject[0].ticketNumber);
console.log("End -----------");
})
但是,console.log("userSelectedRecords => " + retrievedObject[0].ticketNumber); 行返回
未捕获的类型错误:无法读取未定义的属性“ticketNumber”
如何显示之前视图中的数据?
【问题讨论】:
-
这意味着
dataItem是未定义的,所以它上面的行不起作用... -
行 "console.log("TicketNumber => " + dataItem.ticketNumber + " " + dataItem.lineNumber);"显示正确的数据
-
在你的问题中,你说它会抛出一个错误......
-
对不起.... 错字。修复它
-
您正在序列化单个项目,然后尝试将其作为数组访问。
retrievedObject.ticketNumber应该可以工作。
标签: jquery typescript kendo-grid session-storage