V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
firhome
V2EX  ›  程序员

vue+axios 无法带 cookie,有大佬帮忙看看原因吗?

  •  
  •   firhome · 2019-02-20 17:36:19 +08:00 · 6836 次点击
    这是一个创建于 2103 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正在改造老项目。

    vue 里的 代理已经映射到后端接口了。能正常请求。

    发现 cookie 死活带不上,导致登录不了。

    同样的环境 vue + jquery ajax 就可以正常

    我用 vue + axios 就登录不了。 按照网上说的 withCredentials 也设置好了。
    jas0ndyq
        1
    jas0ndyq  
       2019-02-20 17:41:48 +08:00   ❤️ 1
    代理后不需要设置 withCredentials
    firhome
        2
    firhome  
    OP
       2019-02-20 17:46:25 +08:00
    @jas0ndyq 我就是各种办法都试过了才来问的。发请求的时候 res header 里 有 set-cookie 就是带不上
    Sapp
        3
    Sapp  
       2019-02-20 17:47:41 +08:00   ❤️ 1
    我当初用 vuecli 的时候,axios 搭配 cli 自带的那个代理也是无法携带 cookie,不过不清楚是 axios 原因还是 cli 原因还是我没配置好,最后改用 nginx 转发就没问题了
    yhxx
        4
    yhxx  
       2019-02-20 17:49:14 +08:00   ❤️ 1
    带不上是什么意思?
    res header 是响应头,里面的 set-cookie 是服务端给客户端设置 cookie 的
    Yoock
        5
    Yoock  
       2019-02-20 17:50:11 +08:00   ❤️ 1
    axios 可以配置请求时带不带 cookie 的,你搜一下看看
    kyrkwode
        6
    kyrkwode  
       2019-02-20 17:53:42 +08:00   ❤️ 1
    别人能带上,为什么你不能带上,肯定是代码的问题啊,最好把代码贴出来才好判断哪里有问题
    dong3580
        7
    dong3580  
       2019-02-20 18:18:58 +08:00 via Android   ❤️ 1
    F12 看一下请求头上有没有,是没发送还是后端没收到?
    Loerise
        8
    Loerise  
       2019-02-20 18:29:02 +08:00   ❤️ 1
    如果是服务器向客户端 set-cookie 失败的话

    1. 前端需设置 withCredentials: true
    2. 服务器设置 'Access-Control-Allow-Credentials' 'true' 和 'Access-Control-Allow-Origin' '<具体地址,不能为 *>'

    这是针对 nginx 的配置,注意看 2
    其他的服务器自己查吧

    @firhome
    firhome
        9
    firhome  
    OP
       2019-02-20 18:49:53 +08:00
    @Sapp
    @Loerise

    感谢各位回复,解决了。 vue-cli3.0 里面 我 proxyTable 设置的 target 是一个 ip, 结果后端的 set-cookie 域名是那个 ip,而我是用 localhost 访问的。 所以没有 cookie。

    我老项目是 vue-cli 2 的版本 没发现这个问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:00 · PVG 12:00 · LAX 20:00 · JFK 23:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.