【问题标题】:AngularJS, how to get domain from a cookieAngularJS,如何从 cookie 中获取域
【发布时间】:2017-04-06 01:40:31
【问题描述】:

我在退出时尝试从浏览器中删除 cookie,但如果在删除时不指定域,我将无法执行此操作。

$cookies.remove('Name',{domain:'.test123.com'});

我想通过获取所有 cookie 并删除它们来自动化该过程,因为每个 cookie 的域都会更改,我们需要在删除时指定域。但我看不到如何获取域名。

 angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});

由于我没有设置域,cookie 会自动获取域,我如何获取每个 cookie 的域。

【问题讨论】:

  • 你是如何保存 cookie 的???
  • $cookies.put('Name','Tom');
  • 您想删除您在网站上设置的 cookie 吗??
  • 是的,那些来自服务器的。我可以使用 $cookies.remove('Name',{domain:'.test123.com'}); 删除它们,我必须手动输入域名。我想知道有没有办法获取每个cookie的域名。
  • 如果有帮助,请查看我的答案标记是否已接受 :)

标签: javascript angularjs cookies


【解决方案1】:

$cookies.getAll() 将为您提供 cookie 的所有密钥,您可以使用它来删除所有密钥。查看详情here

var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k,[domain]);
});

【讨论】:

  • 我只得到 cookie 的名称和值。没有得到 cookie 的域。
  • 添加域以仅从您的域中删除 cookie
  • 我有来自不同域的 cookie,我想将它们全部删除。因此,手动提供它们是一个巨大的过程。要删除它,语法是 $cookies.remove('Name',{domain:'.test123.com'});
  • 现在将这些域名保留在一个列表中......然后循环遍历它,这将使其更加可见
  • 是的,这是一种方法,但是有没有办法在我们获取cookie时自动获取域名。
猜你喜欢
  • 1970-01-01
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-09
  • 1970-01-01
  • 2016-09-08
相关资源
最近更新 更多