让微信小程序每次请求的时候不改变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  
时间: 2024-12-28 12:15:39

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

微信小程序 POST请求

微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求,POST请求的时候有好几个坑.我已经为大家填好了. <img src="http://img.blog.csdn.net/20161017170933243?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" align

微信小程序request请求实例,网络请求。

最近微信小程序开始开放测试了,小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api. 官方参数说明如下 OBJECT参数说明: 参数名 类型 必填 说明 url String 是 开发者服务器接口地址 data Object.String 否 请求的参数 header Object 否 设置请求的 header , header 中不能设置 Referer method String 否

微信小程序网络请求

配置服务器域名: 每个微信小程序需要事先设置一个通讯域名,小程序只可以跟指定的域名进行网络通信. 服务器域名在:小程序后台=> 开发=> 开发设置 =>  服务器域名中配置,配置时需注意: 1.域名只支持https(request, uploadFile,downloadFile)和wss(connectSocket)协议. 2.域名不能使用ip地址或localhost. 3.域名必须经过ICP备案. 4.服务器域名一个月内可申请5次修改. 发起get请求: 调用wx.request(o

微信小程序:原生热布局终将改变世界

最近朋友圈已经被微信小程序刷屏了,这也难怪,腾讯的产品拥有广泛的影响力,谁便推出个东西,都会有很多人认为会改变世界,这不,张小龙刚一发布微信小程序的消息,很多人(技术的和非技术的)就跟打了鸡血似的,估计现在已经鸡血告急了! 我也看了网上的一些关于微信小程序的文章,估计那帮家伙连微信小程序是什么都没搞清楚,就在那里一本正经地胡说八道.好吧,我就通过本文让大家了解一些什么是微信小程序,以及微信小程序到底能为我们带来什么. 关于微信小程序的误解和讨论已经太多了.这里就说一些主要的. 1.  微信小程序

解决微信小程序手机请求数据不返回的问题

在微信开发者工具开发好小程序之后想要在手机上预览调试,发现手机上请求不到数据,在微信开发者工具上就能返回数据. 这是个大坑. 解决方法: 首先要安装最新的微信开发者工具,最新的才有远程调试功能 以为这样就可以了? 还有个坑,我是在本地用node开发的接口,本地开发时候是这样调用的 这样在微信开发者工具中是没问题的,是有数据返回的.但是在手机上就不行了,没数据返回. 经过多次试验,发现要用IP地址请求才行 - -!!!!!!!!!!(要注意下:不能用127.0.0.1,要用本机的IP地址,cmd打

微信小程序封装请求的js

1.配置访问服务器的地址config.js: const config = {//192.18.1.2:8083 https://www.so.com/ api_base_url: 'http://192.168.1.12:8083', // api_base_url:"https://www.baidu.com", img_base_url: '' } export { config } 2.封装http请求http.js: import { config } from './con