微信小程序session问题,微信小程序新手快快来

(此博客实用于微信像小程序开发的session问题,网页开发的session问题与微信小程序类似,但是涉及到的js语法会有略微差异不同。)

    在微信小程序中,我们运用wx.request()向服务器请求信息的时候,我们每一次请求对于服务器来说都是新的的对话。但是我们有的时候需要连续两次访问的是相同的数据,比如我第一个页面想要得到服务器里一本书的封面、作者、简介,到下一个页面我还想得到这本书的每一章节的内容,那这个时候我们就需要让服务器知道我们上一次的请求。那该如何解决这个问题呢?

    首先我们要引出一个名词:session。这里的session不是小程序通过wx.login()方法维护的session,而是我们自己的服务端的session。正常情况下,客户端向服务端发起请求时,session信息是存放在cookie中以请求头的方式带回给服务端的,而请求头中具体的信息就是session的id。

解决办法也和session的id有关。就是小程序首次执行wx.requst()的时候将小程序sessionId保存起来,在之后的每次请求中在请求头中携带sessionId。

步骤一:若请求成功,将cookie保存到Storage中,session是服务器维护的会话,cookie是客户端(浏览器)持有的保存一些数据的,那么session实际上是通过cookie识别的。

success: function (res) {

if (res && res.header && res.header['Set-Cookie']) {

wx.setStorageSync('cookieKey', res.header['Set-Cookie'])//保存Cookie到Storage

}

}

步骤二:session信息是存放在cookie中以请求头的方式带回给服务端

header: {

"Cookie": "JSESSIONID=" + wx.getStorageSync("sessionKey")

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值