5

我收到错误消息 - “$cookies.remove 不是函数” - 尝试清除我的 Angular 应用程序中的 cookie 时。据我所知,我正在关注 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 时我遇到了这个问题。

4

3 回答 3

4

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

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

需要安装 ngCookies 模块。

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

于 2015-05-26T13:52:06.797 回答
0

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

角饼干文件: -

<script src="https://code.angularjs.org/1.4.4/angular-cookies.js"></script>
于 2015-08-17T10:56:12.343 回答
0

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

app.controller('controllername', function ($cookies) {
    $cookies.remove();})
于 2018-11-28T09:45:02.123 回答