⼩程序获取cookie以及设置cookie
登录成功后,返回包中含有 res.header.Set-Cookie,将其保存本地,
以后每⼀次请求头带上"cookie":res.header.Set-cookie;
我主要是做asp 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
};
quest({session如何设置和读取
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 (argsplete) argsplete(res);
}
})
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论