查看: 11|回复: 0

uni-app 获取 cookie 问题

[复制链接]

0

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-11-14
发表于 2021-5-31 14:35:00 | 显示全部楼层 |阅读模式

在 PC 端的时候,对于后端返回的 cookie 我们是不用进行处理的。

浏览器会自动读取 response header 中的 set-cookie 信息保存,并在后续的 request 中带上。

但是在做小程序时,由于不能自动解析、带上 cookie 所以需要自己手动处理 cookie。

在使用 uni-app 时,uni.request  的 success 返回的参数有下面两个可以读取 cookie。

一、header

header 中能够读取到 ‘Set-Cookie’,的信息。可以直接读取这个值。

response.header['Set-Cookie']

这有个问题,如果服务端一次返回多个 cookie 的话这种方式是不能获取多个的。

二、cookies

cookies 正好可以解决上面的问题。

cookies 是一个数组,就是服务器返回的 cookie 的集合。

所以使用 cookies 更方便。

if (res.cookies && res.cookies.length>0) {
    res.cookies.map(cookie=>{
            // 对 cookie 遍历操作
    })
}    

三、小程序 cookie 差异

这里主要说微信小程序、钉钉小程序。

1、微信小程序

微信小程序还是比较统一的,在开发者工具、Android、IOS 上面都需要手动获取,在发送请求的时候在 request 的 header 中带上

2、钉钉小程序

钉钉小程序各个端都有差异:

开发者工具:可以自己读取 response 中的 cookie,并在 request 的 header 中带上

Android 端:可以自己读取 response 中的 cookie,并在 request 的 header 中带上

IOS 端:无法读取,并且 response 结构改变(获取不到里面的值),必须在返回的 data 中带回需要的 token(或者别的需要信息)。



来源:https://www.cnblogs.com/zhurong/p/14831361.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部