【问题标题】:angularJS cookie read response valueangularJS cookie 读取响应值
【发布时间】:2013-09-02 01:21:20
【问题描述】:

如果我使用 $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

如何读出“Cookie:JSESSIONID=349AD3AC797C6AB28121ADA1766FF4A2”?

谢谢

【问题讨论】:

    标签: angularjs cookies


    【解决方案1】:

    您可以使用ngCookies。为此,您需要在模块中包含 angular-cookies.js 和 ngCookie。

    然后你可以注入$cookies并通过它的get函数获取cookie

    <script src="angular-cookies.js">
    

    而且,在你的 Js 中

    angular.module('app', ['ngCookies']).controller('Test', ['$cookies', '$scope', 
        function($cookies, $scope) {
            $scope.value = $cookies.get('JSESSIONID');
        }
    ]);
    

    【讨论】:

    • 查看其他答案:$cookies 不公开 .get() 方法
    • @zewt112 不知道你在说什么。 docs 中说明你必须使用get 方法...
    • 好地方,这是 v1.4 的最新更改。来自文档:“重大更改:$cookies 不再公开表示当前浏览器 cookie 值的属性。现在您必须使用 get/put/remove/etc. 方法,如下所述。”如果您使用的是 v1.3 或更低版本,则没有 .get() 方法
    • 您可以使用$cookies.sample = 'bar'; 直接访问该值,而不是.get()Seen here
    • (AngularJS v1.5.8) 我尝试了相同的代码但无法访问cookies,我的代码:$timeout(function(){ $log.debug("Cookies : "); $log.调试($cookies.getAll()); $log.debug($cookies.get('JSESSIONID')); $log.debug($cookies.JSESSIONID); });
    【解决方案2】:

    $cookies 确实提供了 $cookieScope 的 .get 函数

    如果使用 $cookies 你应该只使用 $cookies.JSESSIONID

    Angular $cookies

    Angular $cookieStore

    【讨论】:

    • $cookieStore 服务已弃用。阅读您链接的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 2017-03-08
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多