乐趣区

关于小程序:彻底解决小程序无法触发SESSION问题

本文转自 SDK 社区:https://www.sdk.cn/details/lE5wmb52qR058DgojN
一、首先找到第一次发动网络申请的地址,将服务器返回 set-cookie 当全局变量存储起来

wx.request({
 ......
 success: function(res) {console.log(res.header);
//set-cookie:PHPSESSID=ic4vj84aaavqgb800k82etisu0; path=/; domain=.fengkui.net

// 登录胜利,获取第一次的 sessionid, 存储起来
// 留神:Set-Cookie(开发者工具中调试全副小写)(近程调试和线上首字母大写)wx.setStorageSync("sessionid", res.header["Set-Cookie"]);
 }
})

二、申请时带上将 sessionid 放入 request 的 header 头中传到服务器,服务器端可间接在 cookie 中获取

wx.request({
......
header: {
'content-type': 'application/json', // 默认值
'cookie': wx.getStorageSync("sessionid")
// 读取 sessionid, 当作 cookie 传入后盾将 PHPSESSID 做 session_id 应用
},
success: function(res) {console.log(res)
}
})

三、后盾获取 cookie 中的 PHPSESSID,将 PHPSESSID 当作 session_id 应用

  <?php
// 判断 $_COOKIE['PHPSESSID'] 是否存在,存在则作 session_id 应用
if ($_COOKIE['PHPSESSID']) {session_id($_COOKIE['PHPSESSID']);
}

session_start();
echo session_id();
![image](/img/bVcPsMe)
退出移动版