主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
在微信小程序开发中,wx.request()发起的每个请求到服务器都是一个不同的session,微信小程序不会返回session信息。 服务器端对应服务器端不同的会话。 项目内部使用session来存储用户信息,所以后续请求会和没有登录一样。
注意,这里的session并不是小程序通过wx.login()维护的。 方法,但在其自己的服务器端会话中。
正常情况下,当客户端向服务器发起请求时,会话信息会存储在cookie中,并以请求头的形式传回服务器,请求中会存储某些信息标头,即会话 ID。 如下图所示,
红色标记的是必填项,因为它们需要携带请求头,请求头返回给服务器就是它的值。 JESSIONID 的。 恰巧微信小程序也提供了对请求头的支持。
解决方案:
1.用户登录时,服务器返回用户的sessionId。
2.小程序保存sessionId并将其包含在后续每个请求的请求头中。
服务端关键代码:
获取sessionId的方法。 只要你想要,很容易得到。 获取request对象时
Sting sessionId = request.getSession().getId();
返回sessionId
...//登录时的业务代码 response.getWriter .write(sessionId );/ / 返回sessionId给前台
登录小程序后,将sessionId保存在全局变量中。 App.js 是存储全局变量的好地方。
...//登录后逻辑处理 getApp().globalData.header.Cookie = \'JSESSIONID=\&aMP;#39; + _data.sessionId;
app.js 中的代码
其他必需的请求,例如 globalData:{header:{\'Cookie\': \'\' } //\' 可以还要在此处添加标头 x-requested-with\': \'XMLHttpRequest\' 表示 ajax 发送。 微信请求中不包含这个},
小程序请求中包含Session ID
var header = getApp().globalData.header; //app.js中的请求头wx.request get({ url: localhost:8080/xx/xx, header: header, // 带上这个请求头 success:function(res){ }}
推荐
推荐:《小程序开发教程》</下载微信应用程序 微信是一款移动通讯软件,支持通过手机网络发送语音消息和视频、聊天照片和文字、进行群组聊天,甚至可以根据您的地理位置查找附近的人。如果您愿意,请下载并保存您的经验!
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:微信小程序如何开发会话管理?教程介绍(微信小程序console.log) https://zhujicankao.com/123579.html
评论前必须登录!
注册