小程序请求API接口PHPSESSID变化的解决方式
2018-04-23|HiShop
导读:微信小程序开发,请求服务器API的方法使用的是微信官方提供的wx.request()方法。...
微信小程序开发,请求服务器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
HiShop小程序工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。
小程序api相关尽在:小程序api