2017-02-16 55 views
4

我正在研究基本的HTML/CSS/JavaScript测验网站。是否在HTML页面之间重新加载外部JavaScript文件?

我使用的数据收集外部JavaScript在JavaScript的HTML形式,例如:

var userInfo = []; 
function savePerson(form) 
{ 
    userInfo[0] = form.store.value; 
    userInfo[1] = form.employeeId.value; 
    userInfo[2] = form.fName.value; 
    userInfo[3] = form.lName.value; 
}; 

这一切正常。

现在,我需要去一个不同的HTML页面,但保持这个值在数组中。 JavaScript是否在HTML文件之间重新加载?如果是的话我如何通过多个页面保留脚本中的值?

+0

如果您将值保存在Cookie(或“LocalStorage”)中,则只能执行此操作,或者将它们放在表单数据/查询字符串中。后者是一个非常糟糕的方式来做这个测验。 – G0dsquad

+0

使用localstorage –

回答

0

您必须将它们存储在客户端或服务器端。

对于服务器端存储,您必须通过ajax将数据发送到服务器,并将其保存在任何类型的数据库中。

在客户端,您可以将数据存储在cookie,localstorage,indexeddb或websql中。

一个简单的解决办法是:

localStorage.setItem('myPerson', JSON.stringify(userInfo)); 
+0

我相信这将是最简单的解决方案,数据不是超级机密,所以服务器端可能有点矫枉过正。 –

0

您可以在阵列保存为使用文件保存HTML5的设施.js文件。然后在另一个html页面中,您可以将js文件作为外部脚本加载。

0

如果使用敏感信息,您可能希望使用后端服务来存储和检索此类数据,但在大多数情况下可以使用本地存储或Cookie。

这里有一个例子使用本地存储

设置项:

localStorage.setItem('userInfo', userInfo); 

然后在你的下一个页面使用该工具来获取项目:

var userInfo = localStorage.getItem("userInfo"); 
0

使用localStorage的

//save datas: 
localStorage.setItem('data', JSON.stringify(info)); 


//get datas: 
var data=localStorage.getItem('data'); 
相关问题