【问题标题】:How to get cookies from Ajax / xmlhttprequest call's response如何从 Ajax / xmlhttprequest 调用的响应中获取 cookie
【发布时间】:2014-06-28 14:05:22
【问题描述】:

我的应用程序正在使用 xmlHttpRequest 进行网络调用。在响应中,我得到 Set-Cookie 标头(通过提琴手验证)。我需要从 javasript 访问这些 cookie。我试过XmlHttpRequest.getAllResponseHeaders(),它返回除了Set-Cookie之外的所有标题。

有没有办法从 javascript 访问这些 cookie?如果是,请举个例子。

我的应用程序在 Webbrowser 控件 (IE10)、Windows Phone 8 上运行。

提前致谢。

【问题讨论】:

  • 我的只返回三个标题,我的 Set-Cookie 标题在 chrome 开发工具中清晰可见。同样的问题。

标签: ajax cookies xmlhttprequest internet-explorer-10 setcookie


【解决方案1】:

在等待更具体的答案时,您可以改为通过 post 响应从服务器发送所有设置的 cookie,然后在本地设置它,就像这样(使用 jQuery 更容易):

// Client
var cookie;
$.post('example.com',{'stuff':'data'},function(data){
    cookie = data;
});

// Server
if(isset($_POST['stuff'])) echo WhateverTheCookieWouldBe;

【讨论】:

  • 请看我的回答
【解决方案2】:

其实cookies可以通过

document.cookie // this will return a string contains all cookie values separated by semicolon

这实际上是不正确的,因为请求的async 性质

// Client
var cookie;
$.post('example.com',{'stuff':'data'},function(data){
    cookie = data; 
});

alert(cookie); // undefined 

【讨论】:

    猜你喜欢
    • 2012-10-02
    • 1970-01-01
    • 2019-09-28
    • 2018-05-01
    • 1970-01-01
    • 2019-09-06
    • 2014-03-10
    • 1970-01-01
    相关资源
    最近更新 更多