微信小程序不能保存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)
}
})上一篇:小程序怎么实现动态进度条
下一篇:setData性能问题如何优化