解决微信小程序在7.0.8及电脑版上的cookie问题
发布于 4 年前 作者 pingma 5206 次浏览 来自 分享

微信小程序在7.0.8版本及电脑版上,response header的Set-Cookie参数变成小写,可能导致通过直接获取res.header['Set-Cookie']来存储Cookie的方法不可用。

这个问题在7.0.8上首次出现(我当时使用的是测试版),而电脑版长期有这个问题(我原本以为是电脑版还不完善导致不兼容,直到这个问题在手机版上也出现了)。

解决方案:
通过先遍历res.header,把参数转小写后判断。

let found = false
for(let header in res.header){
	if(header.toLocaleLowerCase() == 'set-cookie'){
		COOKIE = res.header[header]
		found = true
		break
	}
}
if (!found) {
	fail(res)
	return
}
2 回复

我也懵逼了,大小写的问题没了。然后发现手机端和电脑端拿到的cookie格式不一样。。。截图是电脑版小程序请求拿到cookie的格式。跟开发工具和手机版是不一样的

我们解决方法是先获取小写“set-cookie”,如果是空的再获取大写“Set-Cookie”!目前正在测试!

回到顶部