我有一个静态站点(让我们称之为设置页面),我的Javascript函数从mysql表中获取AJAX数据并在HTML文档上绘制表格。 它就像一个魅力 - 它需要我需要的所有数据并以适当的方式进行。 这是我的功能:
function get_people()
{
$.post("/controller/get_people", function(data,status,xhr)
{
if(status=="success")
{
people_data = data;
draw_table();
}
})
}
事情是,在另一页上,我有一张桌子旁边有所有人和复选框。 我正在检查此复选框,单击一个按钮,我想进入设置页面 - 我的get_people函数将仅从mysql中选择有关在前一页上检查过的人的数据。
技术上问题是 - 如何从另一个页面将数组传递给javascript函数?我可以将它保存在DOM或其他东西上并从JS中读取吗?
请给我一些想法:]
答案 0 :(得分:2)
您可以使用sessionStorage
和JSON.parse
。
在您的第一页上:
var arrayJSON = JSON.stringify(yourArray);
sessionStorage.setItem("tabledata",arrayJSON);
在第二页上:
var tableData = JSON.parse(sessionStorage.getItem("tabledata"));
这将在当前会话期间将数据保存为浏览器中的字符串。如果您希望它更永久地存储,您可以使用localStorage而不是sessionStorage(相同的语法),即使用户关闭浏览器并稍后返回,它也会被存储。
上的sessionStorage和localStorage还有更多内容