JQuery Ajax 在不设置 cookie 的情况下自动重定向?

Posted

技术标签:

【中文标题】JQuery Ajax 在不设置 cookie 的情况下自动重定向?【英文标题】:JQuery Ajax gets Redirected automatically without the cookies being set? 【发布时间】:2011-10-30 23:58:30 【问题描述】:

当我使用 Jquery ajax 调用(post 或 get)并获得重定向 (302) 时,Jquery 似乎自动跟随重定向。换句话说,它不会触发完成或成功回调,直到遵循重定向之后。此外,来自初始响应的 set-cookies 不会被重定向所接受。换句话说,初始响应中的 set-cookies 填充了一堆东西,但是当重定向发生时,没有 cookie 存在。所以我有2个问题。

1) Jquery ajax 调用是否应该自动跟随重定向?有没有办法让它不遵循重定向?

2) 当它确实遵循重定向时,cookie 是否应该从初始响应中设置?还是他们应该一直是空白的?

【问题讨论】:

【参考方案1】:
    我认为 AJAX 调用只是浏览器请求,应该遵循重定向。 为什么有一个 Set-Cookie 和一个 302?我不确定我是否理解这个问题。

【讨论】:

对不起,如果我是计算机新手,但 302 的响应中确实有一个 set-cookie,当我浏览到有问题的页面并手动执行整个操作时,会发生重定向并且cookie 设置正确。但是,当我尝试通过 Jquery/ajax(使其自动化)做同样的事情时,cookie 没有被设置,并且重定向请求总是在 firebug 中显示为“已取消”。我怀疑这是因为它没有看到正确的 cookie。

以上是关于JQuery Ajax 在不设置 cookie 的情况下自动重定向?的主要内容,如果未能解决你的问题,请参考以下文章

jquery 怎么设置cookie

jQuery跨域请求带Cookie和Session的方法

jquery cookie 怎么设置path

前端Jquery-Ajax跨域请求,并携带cookie

jquery cookie操作为什么去不到cookie值呢?

jquery怎么设置cookie当前页面有效?