4

如果我使用 $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 域与我的请求来自的域相同。

4

1 回答 1

1

您应该使用$cookie 服务,而不是 $cookieStore $cookie 提供对浏览器 cookie 的访问;而 $cookieStore 允许您存储和检索值。

这意味着要访问服务器设置的 cookie,您将使用 $cookie.$cookieStore.get() 将允许您访问您存储在应用程序中的值,使用 $cookieStore.set() 只需将 $cookieStore 替换为 $cookie 即可你的代码。

于 2014-02-26T20:47:40.187 回答