Angularjs只发送JSESSIONID cookie而不发送其他

时间:2015-05-26 14:50:25

标签: angularjs cookies

我们正在使用AngularJS开发RESTful Web服务。 我们正在调用Restful Web服务,该服务使用javax.servlet.http.HttpServletResponse的addCookie()方法创建cookie(之前是的,进行一些业务处理)。从Web服务返回响应后 我们可以在Response头的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 GMT 消息:系统激活了提供的授权码 服务器:Apache的狼/ 1.1 的设置Cookie :auth_cookie_name = VckfCE;到期=星期二,2015年5月26日20:41:33 GMT;的路径 = /服务 的成功:真

请求标题 接受:application / json,text / plain, / 接受编码:gzip,deflate 接受语言:EN-US,EN; Q = 0.8 的连接:保活 内容 - 长度:6 内容型:应用/ JSON 的曲奇:JSESSIONID = A61316520C343254790F12AE03D13242 的主机:本地主机:8080 的 Referer的http://localhost:8080/test-app/ 用户代理:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与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没有'a​​uth_cookie_name'。

如何启用AngularJS发送此Cookie?

1 个答案:

答案 0 :(得分:0)

您的Cookie回复

  

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

有路径选项,此cookie仅限于此前缀。 结果" auth_cookie_name"不是在$ location.path(' / resource')中发送的,因为" / resource"并不是以"服务"开始。