使用本地存储创建注册和登录页面
creating a registration and login pages with localstorage
我需要用javascript和localstorage创建一个注册和登录页面,我对一些事情感到非常困惑。
假设所有需要保存的信息都是一个字符串,我想在本地存储一个这些字符串的数组,它可以随时增长,只要它不被清除,它就会一直增长。我需要能够稍后解析该数组,并将字符串与将在登录页面中输入的字符串进行比较。如何在本地存储中创建字符串数组并访问它?我尝试了以下:localstorage.token = JSON.stringify(token);
,但每次有一个新的令牌,它重写它。我读了一些帖子,但我仍然有点困惑。
谢谢。
好吧,尽管它仍然是粗糙的边缘,这里有一些概念的证明:
HTML:<form>
<input name='abc' value='' />
<input name='def' value='' />
<input name='ghi' value='' />
<button type="button">Save</button>
</form>
JS:
$(function() {
var $form = $('form'),
$saveBtn = $('button'),
myForm = {},
myFormJsoned = localStorage.getItem('myform');
if (myFormJsoned) {
try {
myForm = JSON.parse(myFormJsoned);
$.each(myForm, function(i, obj) {
$form[0][obj.name].value = obj.value;
});
}
catch(e) {
localStorage.removeItem('myform');
}
}
$saveBtn.click(function() {
localStorage.setItem('myform',
JSON.stringify($form.serializeArray()));
});
});
关键是,当这个按钮被点击时,表单被序列化成一个数组与帮助的jQuery方法(当然,使用serialize
将更简单-如果unserialize
可用)。然后将其json并存储到localStorage的单个字段中。
当你加载页面时,这个过程是相反的:JSON被解析成对象数组(jQuery.serializeArray的结果),这个AoO被再次插入到一个表单中(使用$.each
的便利)。
localStorage.setItem('myform_abc', $form[0].abc.value);
localStorage.setItem('myform_def', $form[0].def.value);
localStorage.setItem('myform_ghi', $form[0].ghi.value);
在你的例子中,token是一个字符串,所以如果你对它进行字符串化,它的值就会改变。
你不需要这么做,就这么做吧:
localStorage.token = token;
您应该只对对象类型使用JSON.stringify
:
var t = {a: 5, b: 'Tom'};
// set
localStorage.special = JSON.stringify(t);
// get
var u = JSON.parse(localStorage.special);
console.log(u.a); // 5
console.log(u.b); // 'Tom'
编辑:关于您的注册/登录过程:http://jsfiddle.net/NAzZ5/
相关文章:
- Stormpath注册页面上的社交登录
- 注册,登录和分享内容通过LinkedIn和Twitter与服务器端身份验证(如Google+)
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 单击按钮时切换html登录/注册表单
- 用于登录/注册Angular应用程序的模式/对话框
- Passportjs防止注册后自动登录
- 快递:我无法获得Passport来验证登录.注册正在进行,但您可以帮助护照登录验证吗
- 使用自制的html表单注册/登录网站
- 登录页面和注册页面我需要将所有内容放在一个页面中
- 禁用 converse.js 的登录和注册选项卡,并将 converse.js 与 openfire 连接
- expressJS + MongoDB - 登录/注册方法
- 两个登录/注册按钮是相同的.如何为同一个按钮提供 2 个功能
- 为登录/注册模式实现正确的php数据库访问
- JavaScript:使用localStorage登录/注册
- JavaScript登录/注册回调函数
- 我应该如何识别使用Facebook登录注册的用户
- Facebook登录/注册帮助
- 我可以使用什么作为密码登录/注册用户与OAuth2.0
- Flux+React.js登录/注册流
- 如何创建弹出式登录/注册