You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native中Axios请求无法获取Set-Cookie头问题求助

问题描述

向服务器发送POST请求后,响应里拿不到Set-Cookie头,但用Postman请求时能正常看到这个字段。

代码示例
axios.defaults.withCredentials = true;
let config = {
    method: 'post',
    url: 'https://app.bhive.fund/v1/api/account/signin',
    headers: {
        'Content-Type': 'application/json',
    },
    data: form
}
const res = await axios(config)
console.log(res.status)
console.log('set-cookie: ');
console.log(res.headers['set-cookie']);
console.log(res.headers);
return res;
现象对比
  • 前端日志:res.headers['set-cookie']输出为undefined,响应头里找不到Set-Cookie字段
  • Postman:响应头中明确显示Set-Cookie字段
解决方案
  • 让服务器暴露Set-Cookie头:浏览器默认只允许前端访问一批安全的响应头,Set-Cookie不在其中。必须让服务器在响应中添加Access-Control-Expose-Headers: Set-Cookie,这样前端才能获取到这个字段。
  • 确认跨域凭证配置:服务器得同时设置Access-Control-Allow-Credentials: true,否则前端开启的withCredentials不会生效。你代码里已经开了这个配置,但要确保服务器那边也配对了。
  • 检查Cookie的SameSite属性:如果Cookie的SameSite设为Strict或Lax,跨域请求时浏览器可能会限制前端脚本访问该Cookie头。可以让服务器调整为SameSite=None; Secure(注意该配置需要HTTPS环境支持)。
  • 排查浏览器安全限制:部分浏览器在隐私模式或特定安全策略下会隐藏Set-Cookie头,试试用常规模式测试,或者查看浏览器控制台是否有相关安全警告。

内容的提问来源于stack exchange,提问作者Anirudh Vasudev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:15:41