普通的Web开发,会把sessionid保存在cookie中传递的。
服务端的也会在response的header中加上Set-Cookie
通过这个sessionid就能使浏览器端和服务端保持会话,使浏览器端保持登录状态
但是,微信小程序不能保存Cookie,导致每次wx.request到服务端都会创建一个新的会话(传过去的sessionid会变化),小程序端就不能保持登录状态了
一个比较简单的办法就是把服务端response的Set-Cookie中的值保存到Storage中。
在登陆成功后,添加 cookie:
wx.setStorageSync("cookieKey", res.header["Set-Cookie"]);
然后调用接口时,在header中加入:
'Cookie': wx.getStorageSync('cookieKey')
接口条用由
wx.request({
url: 'test.php',
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json'
},
success (res) {
console.log(res.data)
}
})
变为
wx.request({
url: 'test.php',
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' ,
'Cookie': wx.getStorageSync('cookieKey')
},
success (res) {
console.log(res.data)
}
})
版权声明:本文为weixin_43964779原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。