无法从 REST 响应中读取 Angular 中的 cookie.js



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

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

访问控制允许凭据:true

Access-Control-Allow-Headers:Origin, accept, X-Request-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

访问控制允许方法:发布,获取,头,选项

访问控制允许来源:*

Access-Control-expose-headers:X-WBAuthentication,REMOTE_USER

访问控制-最大年龄:1728000

内容类型:应用程序/json;字符集=UTF-8

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

Set-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;
}, 

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

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

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

无法从 Ajax 响应中读取 cookie。您甚至无法直接读取标头,因为客户端上的 JavaScriptSet-CookieSet-Cookie2明确无法访问


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

最新更新