小编典典

从AJAX POST响应中获取并存储Cookie(来自Set-Cookie)

ajax

我有一个简单的jQuery AJAX POST代码:

$.ajax({
    type: "POST",
    url: AppConstants.URLs.PROXY,
    data: message,
    xhrFields: {
        withCredentials: true
    },
    success: function(data, status, xhr) {
        console.log("Cookie: " + xhr.getResponseHeader("Set-Cookie"));
    }
});

我希望获取cookie并使用cookies-js保存。

但是根据http://www.w3.org/TR/XMLHttpRequest/#the-
getallresponseheaders%28%29-method:

  1. 将所有响应标头( 不包括与Set-Cookie或Set-Cookie2不区分大小写的标头) 作为单个字符串返回,每个标头行由U +
    000D CR U + 000A LF对分隔,状态行除外,每个标头名称和标头值之间用U + 003A COLON U + 0020 SPACE对分隔。

使用Chrome中的网络工具,“响应”标题中会显示“ Set-Cookie”。我还使用验证了“ Set-Cookie”标题的出现curl

要在我的前端应用程序中保存Cookie,我该怎么做?另外,我的应用仅在 https 上运行。

我很乐意应要求提供更多详细信息。


阅读 2230

收藏
2020-07-26

共1个答案

小编典典

您无法在JS中获取Cookie数据。该API不允许您使用。

要在我的前端应用程序中保存Cookie,我该怎么做?

只需Set-Cookie在服务器端代码的响应中设置标头。浏览器应自动将其保存。

作为开发人员,您可以使用“开发人员工具”检查Cookie的价值。

并且相同的cookie将在后续请求中发送到相同的域,直到cookie过期。

2020-07-26