发新话题
打印

让微信小程序每次请求的时候不改变session_id的方法

让微信小程序每次请求的时候不改变session_id的方法

让微信小程序每次请求的时候不改变session_id的方法

每次微信小程序请求的时候都会改变session id,

还好他的请求方法内可以设置header头

所以只需要在启动程序后第一次请求服务器获得一个sessionid(或是唯一编号 )

然后本地存储起来,每次请求服务器的时候就在header里面带上

但是有个问题就是 你本地存储了这个session id后那么以后每次都会是这个session id 所以建议在程序每次启动的时候先清空本地存储的session id 然后发送首次请求获取新的sessionid

  1. let Server = "http://www.XXXX.com/api/";  
  2.   
  3. function NetRequest({url, data, success, fail, complete, method = "POST"}) {  
  4.   
  5.     var session_id = wx.getStorageSync('PHPSESSID');//本地取存储的sessionID  
  6.     if (session_id != "" && session_id != null) {  
  7.         var header = { 'content-type': 'application/x-www-form-urlencoded', 'Cookie': 'PHPSESSID=' + session_id }  
  8.     } else {  
  9.         var header = { 'content-type': 'application/x-www-form-urlencoded' }  
  10.     }  
  11.   
  12.     console.log(session_id);  
  13.     url = Server + url;  
  14.     wx.request({  
  15.         url: url,  
  16.         method: method,  
  17.         data: data,  
  18.         header: header,  
  19.         success: res => {  
  20.  if (session_id == "" || session_id == null) {  
  21.                 wx.setStorageSync('PHPSESSID', res.data.session_id) //如果本地没有就说明第一次请求 把返回的session id 存入本地  
  22.             }  
  23.             console.log(res);  
  24.             let data = res.data  
  25.             res['statusCode'] === 200 ? success(data) : fail(res)  
  26.         },  
  27.         fail: fail,  
  28.         complete: complete  
  29.     })  
  30.   
  31. }  
  32.   
  33. module.exports = NetRequest 

TOP

发新话题