微信小程序开发中请求API接口生成不同PHPSESSID解决方法
编辑时间:2019-08-25 16:30 浏览次数:
请求服务器API的方法使用的是微信官方提供的wx.request()方法。在开发中发现,每一个请求都会生成一个独立的PHPSESSID,如下图示:

搜索后得知,这是由于wx.request()造成的。如果直接使用浏览器请求并不会出现这种情况。
解决方式如下:
通过登录接口获取到用户的session_key 和 open_id,设置session信息如下: $3rd_session = md5(session_key . $open_id)
$_SESSION[$3rd_session ] = session_key . \'|\' . $open_id;
服务器生成此用户的session_id,接口返回 3rd_session 和 session_id。
在其他接口请求中,在header中设置cookie的值:session_id:
header = header || {
\'content-type\': \'application/x-www-form-urlencoded;\',
\'Cookie\': \'PHPSESSID=session_id值\'
}
并在接口中带上参数session=3rd_session,此时服务端获取到的就是同一个session_id,根据3rd_session从$_SESSION得到用户的openid。
本文地址:http://www.shangjiachaoshi.com/operation/xcx1861.html

搜索后得知,这是由于wx.request()造成的。如果直接使用浏览器请求并不会出现这种情况。
解决方式如下:
通过登录接口获取到用户的session_key 和 open_id,设置session信息如下: $3rd_session = md5(session_key . $open_id)
$_SESSION[$3rd_session ] = session_key . \'|\' . $open_id;
服务器生成此用户的session_id,接口返回 3rd_session 和 session_id。
在其他接口请求中,在header中设置cookie的值:session_id:
header = header || {
\'content-type\': \'application/x-www-form-urlencoded;\',
\'Cookie\': \'PHPSESSID=session_id值\'
}
并在接口中带上参数session=3rd_session,此时服务端获取到的就是同一个session_id,根据3rd_session从$_SESSION得到用户的openid。
本文地址:http://www.shangjiachaoshi.com/operation/xcx1861.html
免责声明:我司网站转载此文,不代表本网的观点和立场。不以盈利为目的,如有侵犯公司或个人权益,请联系QQ:767272915沟通,我司会第一时间删除文章。
安菲科技是重庆小程序开发公司,欢迎咨询免费获取思维导图!