鱼C论坛

 找回密码
 立即注册
查看: 51|回复: 2

前端请求不携带cookie,怎么解决

[复制链接]
发表于 昨天 20:09 | 显示全部楼层 |阅读模式
60鱼币
为什么axios配置了axios.defaults.withCredentials = true
不起作用
而且set-cookie也没有作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 昨天 20:09 | 显示全部楼层
出现前端请求不携带cookie的问题可能的原因有很多,我们可以从以下几个方面来解决:

1. **确保服务器端允许跨域携带Cookie**:
   - 服务器响应头需要设置`Access-Control-Allow-Credentials: true`。
   - `Access-Control-Allow-Origin`不能设置为通配符`*`,而应该写明具体的域名。

2. **检查请求的协议和域名**:
   - 确保请求的协议(http或https)和域名与Cookie的Domain属性一致,否则浏览器不会带上Cookie。

3. **检查浏览器设置**:
   - 某些浏览器或浏览器插件可能会阻止Cookie的传递,请检查浏览器设置或尝试在隐私模式下进行测试。

4. **确认axios配置**:
   - 确保`axios.defaults.withCredentials = true`设置在任何请求发送之前。
   - 如果使用单个请求,可以在请求配置中设置`withCredentials: true`。

5. **确认后端Set-Cookie头的正确性**:
   - 检查服务器是否正确设置了`Set-Cookie`响应头。
   - 确保Cookie没有标记为`HttpOnly`,因为这会阻止JavaScript访问。
   - 检查Cookie的`Path`和`Domain`属性,确保其对请求的URL有效。

如果以上方法仍然无法解决,可以尝试进行逐步调试,或提供更详细的信息,以便进一步分析。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 8 小时前 | 显示全部楼层
你的前端调用后端是否是跨域的,如果是跨域的,需要在后端设置跨域的响应头:
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 21:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表