让微信小程序每次请求的时候不改变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  
时间: 08-09

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

微信小程序 网络请求之re.request 和那些坑

微信小程序有四种网络请求类型,下面只详细介绍普通HTTPS请求(wx.request) 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downloadFile) WebSocket通信(wx.connectSocket) 首先,先确认是否设置了合法域名,或者在开发环境下不校验合法域名.关于设置合法域名请看→微信小程序 网络请求之设置合法域名   以下是wx.request的详细说明,截图于微信小程序开发文档 在微信index.js 发起一个普

微信小程序数据请求方法wx.request小测试

微信小程序数据请求方法 wx.request wxml文件: <view> <textarea value="{{textdata}}"/> </view> <button bindtap="RequestData" value="Button">Button</button> 主要是一个按钮,点击后将请求的数据写入到textarea中 js文件: Page({ data:{ textd

第三篇、微信小程序-网络请求API

wx.request(OBJECT)发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 效果图: net.js Page({ data:{ result:{}, }, onLoad:function(options){ this.getDate('http://baobab.wandoujia.com/api/v2/feed?num=2'); }, /** * 网络请求的函数:接收一个URL参数 */ getDate:function(URL){ var

微信小程序request请求封装

var app = getApp(); function request(url,postData,doSuccess,doFail,doComplete){ var host = getApp().conf.host; wx.request({ url: host+url, data:postData, method: 'POST', success: function(res){ if(typeof doSuccess == "function"){ doSuccess(res);

anjular2以及微信小程序的一点比较

1条件渲染: 小程序:用 wx:if="{{condition}}" 来判断是否需要渲染该代码块. <view wx:if="{{condition}}"> True </view> ng2:  用 *ngIf="condition"来判断是否需要渲染该代码块. <p  *ngIf="condition"> condition is true and ngIf is true. </p

微信小程序开发:http请求

在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求. 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downloadFile) WebSocket通信(wx.connectSocket) 这里以介绍wx.request,wx.uploadFile,wx.dowloadFile三种网络请求为主 设置域名 要微信小程序进行网络通信,必须先设置域名,不然会出现错误: URL 域名不合法,请在 mp 后台配置后重试

微信小程序开发(request请求后台获取不到data)

1微信的request的post请求后台获取不到data(当初这个问题纠结了好久好久),原因是post传递的data是json格式而不是key,value的格式,所以获取不到相应的data就是post请求应为表单模式的data,微信小程序提供的datajson格式完全获取不到. 解决方法: 1.改变header header: {'Content-Type': 'application/json;charset=UTF-8;'}, 2.query的格式传递post请求就可以了,不过这个有点..你

微信应用号小程序发起请求wx.request(OBJECT)

微信应用号小程序发起请求wx.request(OBJECT) wx.request(OBJECT) ? wx.request发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 参数名 类型 必填 说明 url String 是 开发者服务器接口地址 data Object.String 否 请求的参数 header Object 否 设置请求的header , header中不能设置Referer method String 否 默认为GET,有效值:O

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓