微信小程序坑点杂谈(三)一分钟解决登录状态session的问题!

Selena ·
更新时间:2024-11-14
· 665 次阅读

微信小程序坑点杂谈(三)一分钟解决登录状态session的问题!

一、写在开头

本人只是一枚小小的新手开发者,所提的问题和解答很难超过个人水平,如果对你有帮助,那就太好了!

二、发现问题
我们之前讲到过,404有大概三种情况,其它两种比较常见也容易规避,我们来看看比较复杂的第三种session登录状态问题。常出现在url和参数完全正确却报了一些莫名其妙的错误。

三、解决问题

wx.request({ url: '后端给你的url地址', data:{ //写想要传递给后端的数据 }, method:"POST", header:{ "Content-Type": "application/x-www-form-urlencoded"//post请求必须加这个 }, success(res){ console.log(res) if (res && res.header && res.header['Set-Cookie']) {//能拿到返回内容且拿到返回内容的header且拿到返回内容的header中的['Set-Cookie'],我们就移除原本在缓存中cookie wx.removeStorageSync('cookie')//移除缓存中已有的cookie,当然第一次可能没有 wx.setStorageSync('cookie', res.header['Set-Cookie'])//把我们新拿到的表头放进去 } else { console.log("we lost") } let cookie = wx.getStorageSync('cookie')//需要的时候从缓存拿到cookie app.globalData.cookey=cookie//把缓存拿到的cookie存到全局变量里就可以在其它函数的header中使用啦 console.log(app.globalData.cookey) } })//以上就拿到了cookie

这种就是在url和参数没有问题的情况下,接口依然404或其它错误,可能是因为request每次调用都不会保存之前的session状态(就如果有些接口需要你登录后才允许调用的,你也会被视为没有登录而调用出错)

header: { "Content-Type": "application/x-www-form-urlencoded", 'cookie': app.globalData.cookey },

拿到这个cookie我们就可以把它添加我们需要的接口的表头中了,至此,完成!

大概就这样了,谢谢大家~~


作者:ODST_TheSolverO5



小程序 杂谈 程序 微信小程序 session

需要 登录 后方可回复, 如果你还没有账号请 注册新账号