【问题标题】:How can I clear cookies using angular-cookies如何使用 angular-cookies 清除 cookie
【发布时间】:2014-11-20 17:36:15
【问题描述】:

使用 Angularjs 我正在开发一个移动应用程序,我需要在注销后清除 cookie。我要使用的服务是经过 cookie 验证的,所以在注销后我需要清除它们。

为此,我尝试了传统的 JS 程序来清除这些 cookie,但没有奏效。

在对其进行更多研究之后,我添加了 angular-cookies 库并使用 ngCookies 来访问我范围内的 $cookies 和 $cookieStore。我收到的所有examples 或 SO 帖子都说如何使用$cookies 和$cookieStore 添加/编辑/删除新cookie。

但是我不是自己设置cookies,它是像JSESSIONID,SMSESSION..so on(一个大字符串)一样动态设置的。当我尝试$cookieStore.get('JSESSIONID') 时,结果未定义。 AFAIK cookie 是键值对,如果是,那么为什么我没有定义。 (我是不是哪里错了)

我是否可以读取所有 cookie 并使用 angular-cookies 库重置/清除它们。

【问题讨论】:

  • 当您说“我使用的服务”时,该服务是您的,它是否托管在同一个域上?您无法读取或写入其他域的 cookie。
  • 正如我所说的它是一个移动应用程序,意味着我正在调用一个将 cookie 信息存储在设备 webkit 内存中的 web 服务。我可以清除吗?
  • 我不确定。在 iOS 上,我很确定如果设置 cookie 的是不同的域,标准 Safari 浏览器和 UIWebViews 都将遵守您不能访问另一个域的 cookie 的规则。您可以使用 NSHTTPCookieStorage 删除您想要的 cookie。
  • 对于这个问题,我最终使用了 Cordova 插件来清除 cookie。很长一段时间后检查此帖子,认为该解决方案可能对某人有所帮助..干杯!!

标签: javascript angularjs cordova cookies


【解决方案1】:

试试这个。它将遍历存储的 cookie 并动态删除它们。

    angular.forEach($cookies, function(value, key) {
        $cookieStore.remove(key);
    });

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2013-01-02
    • 1970-01-01
    • 2017-02-14
    • 2012-12-21
    • 2015-06-22
    相关资源
    最近更新 更多