我主要是作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); } }) }
大功告成。後端