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

我主要是作asp.net mvc後端開發的,常用Jquery的ajax與後臺的Web API進行數據交互。前端

最近公司要作一個小程序,要實現小程序與Web前端的通訊,固然小程序是能夠實現socket通訊的,那樣的話,我須要給小程序寫socket接口,給web寫restful的接口,很顯然我不樂意這麼幹。web

個人各個交互都是須要知道用戶狀態的,web端使用cookie來保存用戶的sessionid,而小程序的wx.request顯然沒有這個功能。ajax

瞭解ajax機制的話,咱們能夠知道,ajax請求每次都會把cookie帶上的,然後端正式經過cookie裏面的sessionid這個cookie來識別用戶的,那麼微信小程序裏面是否是也能夠這麼實現呢?json

答案固然是能夠的,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);
      }
    })
  }

大功告成。後端

相關文章
相關標籤/搜索