【问题标题】:AngularJS: $cookies.remove is not a functionAngularJS:$cookies.remove 不是函数
【发布时间】:2015-08-08 05:35:37
【问题描述】:

我在尝试清除我的 Angular 应用程序中的 cookie 时收到错误消息 - “$cookies.remove 不是函数”。据我所知,我正在关注 angular 文档所说的内容,以及该论坛上所说的删除 cookie 的内容。

这是我处理这个问题的服务,

app.service('authService', function ($cookies) {

    this.SetUsername = function (username) {
        $cookies.username = username;
    }

    this.GetUsername = function () {
        return $cookies.username;
    }

    this.clearCookie = function(){
        $cookies.remove("username");

    }

});

get 和 set 函数都可以正常工作,只是在调用 clear cookie 函数时实际尝试删除 cookie 时我遇到了这个问题。

【问题讨论】:

  • console.log($cookies) ?有 .remove 方法吗?
  • 你安装了 angular-cookies 吗?您是否将 ngCookies 添加到您的应用程序模块的依赖项中?使用console.dir($cookies); 获取对象的内容。是否定义了删除功能?您必须打开浏览器的控制台(F12?)才能看到输出。
  • 你是否包含了 angular-cookies.js? code.angularjs.org/1.3.15
  • 当我在控制台中输入它时,它说 $cookies 没有定义,但我不知道这是怎么回事,因为我很好地使用它来存储值并且它不会引发错误?它被添加到我的模块中。它包含正确。我已经设法通过使用 delete $cookies["username"] 来完成这项工作,但我不确定为什么这有效,而另一种方法则无效。

标签: angularjs cookies angular-cookies


【解决方案1】:

在注销时尝试此操作,它将一次清除所有 cookie

app.controller('controllername', function ($cookies) {
    $cookies.remove();})

【讨论】:

  • 请添加更多解释。
【解决方案2】:

在您的页面中包含角度 cookie 文件。

Angular cookie 文件:-

<script src="https://code.angularjs.org/1.4.4/angular-cookies.js"></script>

【讨论】:

    【解决方案3】:

    首先,您使用的是哪个版本的 Angular.js?对我来说,您似乎使用的是 1.3.x,这意味着 $cookies 实际上来自 ngCookies 插件。在这种情况下,$cookies 只不过是一个简单的对象,在其中写入会创建一个新的 cookie 值。直接引用 1.3.x ngCookie 文档:

    只公开一个简单的对象,并通过添加或删除属性 到/从这个对象,新的 cookie 在结束时被创建/删除 当前的 $eval。对象的属性只能是字符串。

    需要安装 ngCookies 模块。

    如果您使用 1.4.x 及更高版本,您的实现实际上是正确的。

    【讨论】:

    • 嗨,我正在使用 angular 的 v1.3.15。我认为 .remove 的目的是摆脱 cookie 中的属性。正如我在上面的回复中所说,我设法通过使用 'delete $cookies["username"];'而是
    • 您的假设是正确的,但 .remove 方法仅在 1.4.x 及更高版本中可用。来自 Angular 的 API 文档有时很难实现这一点,但您在左上角的文档中有一个 API 版本选择器。如果您选择 1.3,它将显示出来。
    • 啊,好吧,对不起,我应该从你最初的帖子中意识到你的意思。以后阅读文档时会更加关注所列出的 Angular 版本。
    猜你喜欢
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2016-03-24
    • 2017-06-25
    相关资源
    最近更新 更多