【发布时间】: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?
【问题讨论】: