我的问题出现在我当前code
它无法正常工作
答案 0 :(得分:2)
这里有很多事情要发生:
您有多个id
性别的元素,导致您的HTML无效。
You can't store an array directly into localStorage
在插入之前需要stringify(),并在检索后parse()。
localStorage.setItem()
函数有两个参数,即要存储的数据的名称( key )和实际数据( value )< / p>
您使用单个参数调用它,例如
localStorage.setItem(data) //Uncaught TypeError: Failed to execute 'setItem' on 'Storage': 2 arguments required, but only 1 present.
应该是localStorage.setItem('info',data)
。
这样您就可以使用localStorage.getItem()
之类的localStorage.setItem('info')
在页面加载时访问数据。
(我之前没有datatables的经验,所以我浏览了examples和API文档)
获得数据后,您需要在初始化表时指定data和columns选项(此example演示了如何使用js中的数据初始化dataTable来源。)如下:
$('#myTable').dataTable({
"data": dataSet,
"columns": [{
"title": "Name"
}, {
"title": "Age"
}, {
"title": "Gender"
}, {
"title": "Action"
}]
// rest of the options
});
正如您在文档中看到的那样,data选项接受2D
数组;因此,您不必在数组中保存单个记录,而是创建一个包含所有记录的数组数组,并将其保存在localStorage
下面的小提示允许您在localStorage
中保存一条记录(我将其包装在另一个数组中),并在您下次访问时检索并显示它。
正如Anthony在评论中所提到的,最好在unload事件中保存一次,而不是每次创建记录时都尝试更新localStorage
。