wx.request如何在header传多个cookie?
发布于 7 年前 作者 dchen 275 次浏览 来自 官方Issues

开始获取的Set-Cookie 的数据直接存储起来加到header的cookie了,可是如果有多个cookie的时候后端只获取到了第一个,怎么上传多个cookie并且后端可以都获取到

2 回复

header里的cookie不是那种形式的

而是 以分号隔相连的键值对,比如 a=456; b=123

你要把Set-Cookie里的键和值都取到,弄成以分号隔相连的键值对,才行

set-cookie形如:

a=456; expires=Sat, 02-Nov-2019 16:30:34 GMT; Max-Age=7200; path=/,b=123; expires=Sat, 02-Nov-2019 16:30:34 GMT; Max-Age=7200; path=/; httponly 

其中包含的cookie为 a=456 和 b=123


var t = this

// 从请求相应的Set-Cookie中获取cookie

wx.request({

    url:‘xxxxxx’,

    success(res){

        var a = res.header[“Set-Cookie”], b = a.split(/path=(?:[^,]+),/), c = []

        for (var i in b) {

            c.push(b[i].replace(/(; .*$)/, ‘’))

        }

        t.setData({

            cookie: c.join(’; ')

        })

        console.log(cookie)

    }

})

// =========================================

// 带cookie请求

wx.request({

    url: ‘ssssssss’,

    header: {

        cookie: t.data.cookie

    },

    success(res) {

    }

})

这个得看后端要什么类型数据了

回到顶部