uni-app 发送request请求,返回出来的Set-cookie怎么取里面的想要的值。。
user_name,:
user_nick_name:
group_name::
user_portrait :
这些,请大佬们帮忙写个例子。小白一个,一直没研究明白
下面是我获取到的cookie。想从这里里面取
user_name,:
user_nick_name:
group_name::
user_portrait :
[user_id=1; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, user_name=15690066010; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, user_nick_name=%E8%90%9D%E5%8D%9CA2PLL; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, group_id=2; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, group_name=%E9%BB%98%E8%AE%A4%E4%BC%9A%E5%91%98; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, user_check=42b591eca2f45639a8b5e042ac6d3e31; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/, user_portrait=%2Fstatic%2Fimages%2Ftouxiang.png; expires=Sat, 17-Jul-2021 15:11:41 GMT; Max-Age=2592000; path=/]
你可以先用 分号; 分割出来每个键值对, 然后再用 等号= 分割 出来 每一对
最后组合成形成一个对象
使用 返回的对象.字段名 即可
例如:
function getCookie() {
if (document.cookie.length > 0) {
//这里显示的格式需要切割一下自己可输出看下
var arr = document.cookie.split('; ');
for (var i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('='); //再次切割
//判断查找相对应的值
if (arr2[0] == 'userName') {
arr2[1]; //cookie中的userName
}
}
}
}
有没有
let arr=document.cookie.split(';');
let obj={};
arr.forEach((ele,idx)=>{
let str = ele.replace(/\s*/g,"");//去除空格
let name = str.split('=')[0];//对象名
let data = str.split('=')[1];//值
obj[name] = data
})
console.log(obj)
['xxxx' = obj.xxx]
或者用正则循环取出
代码如下:如有帮助,请采纳一下,谢谢
const result = await uni.request({
url:url,
data: params,
method,
header: {
'content-type': 'application/json', //自定义请求头信息
'cookie': uni.getStorageSync('sessionId')||'',
'accept': 'application/Json',
},
});
sessionId = result[1].header['Set-Cookie']//获取头部cookie