微信小程序 獲取cookie 以及設置 cookie


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

登錄成功后,返回包中含有 res.header.Set-Cookie,將其保存本地,

以后每一次請求頭帶上"cookie":res.header.Set-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") //讀取本地保存好的上一次cookie
    };
    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"]);//服務器返回的Set-Cookie,保存到本地
        }
        if (args.success) args.success(res);
      },
      complete(res) {
        if (args.complete) args.complete(res);
      }
    })
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM