如果我使用$ http在我的服务器上发出请求,我会得到以下回复:
Request URL:http://www.test.tst/login
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Cookie:JSESSIONID=349AD3AC797C6AB28121ADA1766FF4A2
Host:www.test.tst
我是这样实现的:
$scope.checkToken = function () {
$http({method: 'GET', url: 'http://www.test.tst/login', params: {'action.code': 'LINK', 'linkparameter': $rootScope.token}}).
success(function (data, status, headers, config) {
console.log($cookieStore.get('JSESSIONID'));
}).
error(function (data, status, headers, config) {
$location.path("/login");
});
}
任何人都可以告诉我,为什么$ cookieStore.get(' JSESSIONID')总是未定义?
Cookie域与我的请求来源的域名相同。
答案 0 :(得分:1)
您应该使用$cookie service,而不是$ cookieStore $ cookie提供对浏览器cookie的访问;而$ cookieStore允许您存储和检索值。
这意味着要访问服务器设置的cookie,您将使用$ cookie。$ cookieStore.get()将允许您使用$ cookieStore.set()访问存储在应用程序中的值 只需在代码中用$ cookie替换$ cookieStore。