2015-05-26 24 views
-2

我們正在開發一個帶有AngularJS的RESTful Webservice。 我們正在調用Restful Web服務,它使用javax.servlet.http.HttpServletResponse的addCookie()方法(是在做一些業務處理之前)創建一個cookie。一旦從Web服務返回響應 我們可以在響應標頭的Set-Cookie元素下看到cookie。請查看瀏覽器開發者工具的回覆。Angularjs只發送JSESSIONID cookie不是其他人

遠程地址:127.0.0.1:8080 請求URLhttp://localhost:8080/test-app/authCode/activate 請求方法:POST 狀態代碼:200 OK

響應頭 的Content-Length :0 日期:2015年5月26日,星期二14 :41:33 GMT 消息:系統激活授權碼提供 服務器:Apache的狼/ 1.1 的Set-Cookie:auth_cookie_name = VckfCE;到期時間=星期二,2015年5月26日20:41:33 GMT; 路徑 = /服務 成功:真

請求頭 接受:應用/ JSON,文本/純,/ 的Accept-Encoding:gzip的,放氣 接受 - 語言:en-US,en; q = 0.8 連接:保持活動 Co ntent-長度:6 內容類型:應用/ JSON 曲奇:JSESSIONID = A61316520C343254790F12AE03D13242 主機:本地主機:8080 的Refererhttp://localhost:8080/test-app/ 的User-Agent:Mozilla的/ 5.0(視窗NT 6.1; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)Chrome瀏覽器/ Safari瀏覽器43.0.2357.65/537.36

請求負載 VckfCE

我們使用angularjs $ location.path導航到其他資源之後('/資源「)。當這個調用被執行時,控制轉到javax.servlet.Filter,我們嘗試使用request.getCookies()讀取cookie'auth_cookie_name',但只有JSESSIONID cookie被發現,而沒有'auth_cookie_name'。

如何讓AngularJS發送此Cookie?

回答

0

您的cookie響應

曲奇:auth_cookie_name = VckfCE;到期時間=星期二,2015年5月26日20:41:33 GMT;路徑= /服務

有路徑選項,並且此cookie僅限於此前綴。 因此,「$ auth_cookie_name」不在$ location.path('/ resource')中發送,因爲「/ resource」不以「services」開頭。

+0

設置正確的路徑問題後就修復了!謝謝! – Shakir