uniapp 获取请求头set-cookie
时间: 2023-08-12 18:52:55 浏览: 124
在 uniapp 中,可以通过在请求头中设置 `Cookie` 来获取服务器返回的 `Set-Cookie`。具体实现可以参考以下代码示例:
```javascript
uni.request({
url: 'http://example.com/api',
header: {
'Cookie': uni.getStorageSync('cookie') // 从本地缓存中获取 cookie
},
success: (res) => {
if (res.header['Set-Cookie']) {
uni.setStorageSync('cookie', res.header['Set-Cookie']) // 将新的 cookie 存储到本地缓存中
}
console.log(res.data)
},
fail: (err) => {
console.log(err)
}
})
```
在请求成功后,如果服务器返回了 `Set-Cookie`,则可以通过 `res.header['Set-Cookie']` 获取到,然后将其存储到本地缓存中,以便下次请求时使用。需要注意的是,`Set-Cookie` 中可能会包含多个 cookie,需要根据实际情况进行处理。
相关问题
uniapp 封装请求 要带上cookie
在 uniapp 中封装请求时,可以在请求头中添加 `Cookie` 字段来携带 cookie。具体实现可以参考以下代码示例:
```javascript
function request(options) {
let cookie = uni.getStorageSync('cookie') // 从本地缓存中获取 cookie
if (cookie) {
options.header = options.header || {}
options.header['Cookie'] = cookie // 将 cookie 添加到请求头中
}
return uni.request(options).then((res) => {
if (res.header['Set-Cookie']) {
uni.setStorageSync('cookie', res.header['Set-Cookie']) // 将新的 cookie 存储到本地缓存中
}
return res.data
})
}
```
在请求函数中,首先从本地缓存中获取 cookie,如果存在则将其添加到请求头中。在请求成功后,如果服务器返回了 `Set-Cookie`,则将其存储到本地缓存中,以便下次请求时使用。这样,在调用封装的请求函数时就会自动携带 cookie。
uniapp如何获取cookie
在uniapp中获取cookie可以通过以下步骤:
1. 在请求头部中设置withCredentials为true,来启用跨域请求携带cookie:
```javascript
uni.request({
url: 'http://example.com/api',
header: {
withCredentials: true
},
success: function(res) {
// ...
}
})
```
2. 在服务器返回的响应头部中获取cookie:
```javascript
uni.request({
url: 'http://example.com/api',
header: {
withCredentials: true
},
success: function(res) {
var cookies = res.header['Set-Cookie']
// ...
}
})
```
注意:获取cookie需要在跨域请求中使用,而且需要服务器设置Access-Control-Allow-Origin为具体的域名或*。
阅读全文