更正:事后查证,此问题应是 HTTP/2 特性所导致。
微信小程序在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
}
发表回复