【问题标题】:Angularjs send only JSESSIONID cookie not othersAngularjs 只发送 JSESSIONID cookie 而不是其他的
【发布时间】:2015-08-08 07:53:29
【问题描述】:

我们正在使用 AngularJS 开发 RESTful Web 服务。 我们正在调用 Restful Web 服务,它使用 javax.servlet.http.HttpServletResponse 的 addCookie() 方法创建一个 cookie(是的,在此之前进行一些业务处理)。从 Web 服务返回响应后 我们可以在响应标头的 Set-Cookie 元素下看到 cookie。请查看浏览器开发工具的响应。

远程地址:127.0.0.1:8080 请求网址http://localhost:8080/test-app/authCode/activate 请求方法:POST 状态码:200 OK

响应标头 内容长度:0 日期:格林威治标准时间 2015 年 5 月 26 日星期二 14:41:33 消息:系统激活提供的授权码 服务器:Apache-Coyote/1.1 设置 Cookie:auth_cookie_name=VckfCE;到期=星期二,2015 年 5 月 26 日 20:41:33 GMT; 路径=/服务 成功:真

请求标头 接受:application/json, text/plain, / 接受编码:gzip,放气 接受语言:en-US,en;q=0.8 连接:保持活动状态 内容长度:6 内容类型:application/json Cookie:JSESSIONID=A61316520C343254790F12AE03D13242 主机:本地主机:8080 推荐人http://localhost:8080/test-app/ 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36

请求负载 VckfCE

之后,我们使用 angularjs $location.path('/resource') 导航到其他资源。当此调用执行时,控制转到 javax.servlet.Filter,我们尝试使用 request.getCookies() 读取 cookie 'auth_cookie_name',但只找到 JSESSIONID cookie,没有 'auth_cookie_name'。

如何让 AngularJS 发送这些 cookie?

【问题讨论】:

    标签: angularjs cookies


    【解决方案1】:

    您的 cookie 响应

    Cookie:auth_cookie_name=VckfCE;到期=星期二,2015 年 5 月 26 日 20:41:33 GMT;路径=/服务

    具有路径选项,并且此 cookie 仅限于此前缀。 结果“auth_cookie_name”没有在 $location.path('/resource') 中发送,因为“/resource”不以“services”开头。

    【讨论】:

    • 设置正确路径后问题已修复!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多