我在phonegap(纯js、html、css)中有一个应用程序,用户登录后可以访问一些其他网站。我的问题是如何保存他的个人数据或他的 session 。没有涉及发送 cookie 或处理 session 的 php。一切都需要保存在 JS (jQuery) 中。我怎样才能做到这一点?
最佳答案
您可以使用HTML5
功能本地存储
例如;
当用户登录时,在本地存储中将一个变量设置为 isAuthenticated
默认为0,登录成功后设置为1。
localStorage.isAuthenticated = 0; // default
OR
localStorage.setItem('isAuthenticated',0);
登录成功
localStorage.isAuthenticated = 1; // default
OR
localStorage.setItem('isAuthenticated',1);
每当您想检查用户的真实性时,只需比较本地存储中的 isAuthenticated
变量的值即可。
var isLoggedIn = localStorage.getItem('isAuthenticated');
if(isLoggedIn){
//your code
} else {
// invalid user code
}
更新 如果您要存储 javascript 对象,则
var myObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('myObject', JSON.stringify(myObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('myObject');
retrievedObject = JSON.parse(retrievedObject)
使用JSON.stringify
将对象转换为字符串
,然后将其存储到本地存储中。
使用 JSON.parse
cast
该字符串
回javascript对象
查看本地存储文档,该功能似乎仅限于处理字符串键/值对。
您可以在此处查看文档
PS:Phonegap 与本地存储或任何其他 HTML 功能的工作无关。 Phonegap 只是一个中间件,可促进您的设备硬件和 javascript/html 代码之间的通信。
关于javascript - JavaScript 中的用户 session 跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050059/