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

Posted 奋斗的人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让微信小程序每次请求的时候不改变session_id的方法相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

我把它请求的方法 重新包装了下 顺便贴出来大家看看 刚上手两天 还不是特别熟悉

    let Server = "http://www.XXXX.com/api/";  
      
    function NetRequest({url, data, success, fail, complete, method = "POST"}) {  
      
        var session_id = wx.getStorageSync(‘phpSESSID‘);//本地取存储的sessionID  
        if (session_id != "" && session_id != null) {  
            var header = { ‘content-type‘: ‘application/x-www-form-urlencoded‘, ‘Cookie‘: ‘PHPSESSID=‘ + session_id }  
        } else {  
            var header = { ‘content-type‘: ‘application/x-www-form-urlencoded‘ }  
        }  
      
        console.log(session_id);  
        url = Server + url;  
        wx.request({  
            url: url,  
            method: method,  
            data: data,  
            header: header,  
            success: res => {  
 if (session_id == "" || session_id == null) {  
                wx.setStorageSync(‘PHPSESSID‘, res.data.session_id) //如果本地没有就说明第一次请求 把返回的session id 存入本地  
            }  
            console.log(res);  
            let data = res.data  
            res[‘statusCode‘] === 200 ? success(data) : fail(res)  
        },  
        fail: fail,  
        complete: complete  
    })  
  
}  
  
module.exports = NetRequest  

 

以上是关于让微信小程序每次请求的时候不改变session_id的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何让微信小程序直接跳转到某个网页

断网了,如何让微信小程序,可以用蓝牙

微信小程序怎么让数据动态显示?或者绑定点击事件?

2021-02-06 让微信小程序和webviewH5实现互相通讯(demo)

点击微信小程序 为啥一直“加载中”,无法进入

微信小程序实现下拉刷新