【问题标题】:Not able to read cookie in Angular.js from REST response无法从 REST 响应中读取 Angular.js 中的 cookie
【发布时间】:2018-09-21 00:52:12
【问题描述】:

我正在尝试从 angualr JS 中 REST Web 服务的响应中读取 cookie。 我的应用程序正在调用以下服务。 http://127.0.0.1:29070/webbrokerproxy/wbservice/secure/basket/wbrokere

这将返回响应头,如下所示。

访问控制允许凭据:true

Access-Control-Allow-Headers:Origin、Accept、X-Requested-With、Content-Type、Access-Control-Request-Method、Access-Control-Request-Headers、content-disposition、Content-Transfer-Encoding ,X-WBAuthentication,Cache-Control,Pragma,If-Modified-Since,REMOTE_USER

访问控制允许方法:POST、GET、HEAD、OPTIONS

访问控制允许来源:*

Access-Control-Expose-Headers:X-WBAuthentication,REMOTE_USER

访问控制最大年龄:1728000

Content-Type:application/json;charset=UTF-8

日期:2018 年 4 月 11 日星期三 08:07:17 GMT 设置 Cookie:authUser=wbrokere;路径=/

设置 Cookie:_WL_AUTHCOOKIE_JSESSIONID=Jfh3J6GzwYBFHgcIBUNy;路径=/;安全的; HttpOnly

Set-Cookie:JSESSIONID=MxizvqlB2GtIXyfZ-HO4PbLH4cxId20pL4DyHw2XFfB58SLgwe0u!54246601;路径=/; HttpOnly

Set-Cookie:JSESSIONID=PTxQhNCVnVmNQ9Z8yWbp3TTcbsQTT4l0W9hwz0jVl2SvQDYYMkLm!-1045388091;路径=/; HttpOnly

传输编码:分块 X-Powered-By:Servlet/2.5 JSP/2.1

我正在尝试从 angualr js 代码读取 authUser cookie,但我得到的值未定义。

  WBTokenGenerator().get({}, function(response, header) {

        alert("auth user " + $cookies.get('authUser'));
        sessionStorage.wbtoken = response.token;

    }, 

谁能解释一下为什么我看不懂。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    $cookies.get 将读取在当前页面加载时为当前页面设置的 cookie

    如果您发出 Ajax 请求,则响应可能会更新存储在浏览器中的 cookie,但不会更改历史记录以重写您最初加载页面时设置的 cookie。

    无法从 Ajax 响应中读取 cookie。你甚至不能 read the headers directly 因为 Set-CookieSet-Cookie2 在客户端上的 JavaScript 是明确不可访问的。


    也就是说,您不需要显式读取 cookie 值。它的任何正常使用都将由浏览器透明地处理。您只需向设置了 cookie 的 URL 发出另一个 HTTP 请求,它将包含在请求标头中。

    【讨论】:

    • 所以如果我想在本地保存 cookie 返回的数据我应该怎么做
    • 你不能。这不是 cookie 的设计初衷。
    • 无论您获得或想要获得什么数据都应该在您的响应(正文)中,然后如果您想保存它们,您可以使用本地存储或会话存储 (w3schools.com/html/html5_webstorage.asp) 如果您发现这对您不起作用,您可能使用了错误的 cookie。
    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多