对于刚接触前端的伙伴或许不太理解token,简单来说,就是用来表明身份,而不用在登录之后每次调用接口都需要服务器验证用户名密码,从而减轻服务器压力。至于深层次理解,大家参考其他博客,本文只说明适于小白的基础操作,大佬请绕行。
1.微信小程序端
wx.setStorageSync(string key, any data) | 微信开放文档 (qq.com)
set和get各有两种写法,详见上方官方文档
(1)存token(以登录页面为例,存入小程序缓存)
success:function(res) {
var obj = JSON.parse(res.data)
wx.setStorage({
key:"token",
data:obj.data.token
})
if(obj.code == 0) {
wx.showToast({
title: '登录成功',
})
wx.switchTab({
url: '/pages/index/index',
})
}else {
wx.showToast({
title: '登录失败',
icon: 'error'
});
}
}
(2)取token
wx.request({
url: '',
header:{
'content-type': 'application/json',
'token':wx.getStorageSync('token')
`}
2.管理端
(1)存token(利用ajax存入localStorage为例)
$.ajax({
url: "http://localhost:8081/classroom/root/login",
data: JSON.stringify({
"password":password,
"rootId":rootId
}),
type: "post",
dataType: "json",
contentType: 'application/json',
success: function (data) {
if(data.data.root == 0) {
localStorage.setItem('token',data.data.token);
alert("登录成功");
window.location.href = '../html/u.html';
} else {
alert(data.msg);
}
},
error: function (msg) {
alert("ajax连接异常:" + msg);
}
});
(2)取token(token携带在请求头中,只有登录请求不需要携带token,登录成功后把token返回给前端,以后的请求前端需要携带这个token给后端进行验证)
$.ajax({
url: "http://localhost:8081/..",
headers: {
token: localStorage.getItem('token'),
},
type: "post",
...
});