JQuery实现用户登录监听、数据提交、登录成功Token保存、跳转登录成功页面

客户的数据登录信息一般保存在<form>标签中,我们只要监听其submit事件,根据服务器返回的数据做出响应并渲染给客户就可以了。一般分四步
第一步:阻止submit的默认提交行为
第二步:获取form表单数据
第三步:发起ajax请求
第四步:根据返回数据做出相应动作
示例是JQuery代码,使用了serialize()函数快速获取表单数据,发起ajax请求,将返回的token存储到window的localStorage中,并跳转到登录成功页面。其中layer对象来自于layui开发框架

('#form_login').submit(function (e) { // 阻止默认提交行为 e.preventDefault().ajax({
url: '/api/login',
method:'post'
// 快速获取表单中的数据
data: $(this).serialize(),
success: function (res) {
if (res.status !== 0) {
return layer.msg('登录失败!')
}
layer.msg('登录成功!')
// 将登录成功得到的 Token 字符串,保存到 localStorage 中
localStorage.setItem('token', res.token)
// 跳转到后台主页
location.href = '/index.html'
}
})
})


下面是关于localStorage的资料
localstorage 在浏览器的 API 有两个:localStorage 和sessionStorage,存在于 window 对象中:localStorage 对应 window.localStorage,sessionStorage 对应 window.sessionStorage。

localStorage 和 sessionStorage 的区别主要是在于其生存期。
localStorage理论上来说是永久有效的,即不主动清空的话就不会消失,即使保存的数据超出了浏览器所规定的大小,也不会把旧数据清空而只会报错。但需要注意的是,在移动设备上的浏览器或各Native App用到的WebView里,localStorage都是不可靠的,可能会因为各种原因(比如说退出App、网络切换、内存不足等原因)被清空。
sessionStorage的生存期顾名思义,类似于session,只要关闭浏览器(也包括浏览器的标签页),就会被清空。由于sessionStorage的生存期太短,因此应用场景很有限,但从另一方面来看,不容易出现异常情况,比较可靠。

localstorage为标准的键值对(Key-Value,简称KV)数据类型,简单但也易扩展,只要以某种编码方式把想要存储进localstorage的对象给转化成字符串,就能轻松支持。举点例子:把对象转换成json字符串,就能让存储对象了;把图片转换成DataUrl(base64),就可以存储图片了。另外对于键值对数据类型来说,"键是唯一的"这个特性也是相当重要的,重复以同一个键来赋值的话,会覆盖上次的值。

localStorage.setItem('myCat', 'Tom'); //码片段访问了当前域名下的本地 [Storage]对象,并通过 [Storage.setItem()]增加了一个数据项目。
let cat = localStorage.getItem('myCat');//获取myCat的值
localStorage.removeItem('myCat'); //用于移除 localStorage 某项
localStorage.clear();// 移除所有localStorage中的数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容