微信小程序如何在使用wx.request使用cookie

摘要:
我主要做ASPNetmvc后端开发,经常使用Jquery的ajax与后台Web API进行数据交互。我的所有交互都需要知道用户状态。web端使用cookie保存用户的sessionid,而小程序的Wx请求显然没有此功能。如果我们了解ajax机制,我们就可以知道,每次ajax请求带来cookie,并且后端通过cookie中的sessionid cookie正式识别用户时,我们可以在微信小程序中做到这一点吗?

我主要是做asp.net mvc后端开发的,经常使用Jquery的ajax与后台的Web API进行数据交互。

最近公司要做一个小程序,要实现小程序与Web前端的通信,当然小程序是可以实现socket通信的,那样的话,我需要给小程序写socket接口,给web写restful的接口,很显然我不乐意这么干。

我的各个交互都是需要知道用户状态的,web端使用cookie来保存用户的sessionid,而小程序的wx.request显然没有这个功能。

了解ajax机制的话,我们可以知道,ajax请求每次都会把cookie带上的,而后端正式通过cookie里面的sessionid这个cookie来识别用户的,那么微信小程序里面是不是也可以这么实现呢?

答案当然是可以的,ajax的cookie是通过请求的header带上去的,同理,我们可以在请求之前把这个ID塞进header,直接上代码:

//对wx.request实现二次封装
function(args) {
    var that = this;
    var header = {
      'content-type': 'application/json; charset=utf-8',
      'cookie': wx.getStorageSync("sessionid")
    };
    reqObj=wx.request({
      url: that.baseUrl + args.url,
      method: "POST",
      header: header,
      data: JSON.stringify(args.data),
      success(res) {
        var cookie = res.header["Set-Cookie"];
        if (cookie != null) {
          wx.setStorageSync("sessionid", res.header["Set-Cookie"]);
        }
        if (args.success) args.success(res);
      },
      complete(res) {
        if (args.complete) args.complete(res);
      }
    })
  }

大功告成。

免责声明:文章转载自《微信小程序如何在使用wx.request使用cookie》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇swf文件加密基础(转)[Jenkins]初次访问Jenkins,输入密码后,页面卡在空白界面一直未加载出内容_解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python爬虫+使用cookie登录豆瓣

2017-10-09 19:06:22 版权声明:本文为博主原创文章,未经博主允许不得转载。 前言:先获得cookie,然后自动登录豆瓣和新浪微博 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本(本次使用python3.6),IDE为pycharm,浏览器为chorme,使用的python第三方库为requests...

文件上传的几种方式_django

一、form组件形式上传文件 缺点:页面会刷新 后台: 前端:   二、ajax形式上传 能够实现页面不刷新上传 1、原生ajax上传,使用XMLHttpRequest对象来进行上传   流程:     生成XMLHttpRequest对象     对象编写数据open()     开始发送send()     编写对象的回调函数xhr.onreadys...

cookie一些问题

cookie是一个客户端技术,主要是为了解决页面参数传递的问题,要是通过url参数传递的话,那么传递的参数可以看到,不安全。所以才会有cookie技术。 cookie主要有几个方法,首先创建的时候,传递的是key-value字典类型。通过key可以获取到value的值,一般是在别的页面通过key去获取到value的值。   其次cookie有一个setMa...

jQuery 操作Cookie

转自:http://www.cnblogs.com/luluping/archive/2009/04/23/1442465.html jQuery.cookie = function(name, value, options) {          if (typeof value != 'undefined') {                 ...

Ucenter后台登陆 验证码CCCC的解决方法 无法登录解决办法

做同步登录的时候,偶然发现ucenter登录的时候,验证码总是CCCC,太郁闷了,网上找了一下,听说Discuz也有这个问题,不过Discuz的比较好解决,把config.inc.php里面的chekip关掉就可以登陆了, $admincp['checkip'] = 0; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法...

Sqlmap注入技巧收集整理

TIP1 当我们注射的时候,判断注入 http://site/script?id=10http://site/script?id=11-1 # 相当于 id=10http://site/script?id=(select 10) # 相当于 id=10 http://site/script?id=10 and 1=1 #失败 通过判断可发现and和or被过...