AngularJS:$ cookies.remove不是一个函数

时间:2015-05-26 13:43:18

标签: angularjs cookies angular-cookies

我收到错误 - " $ cookies.remove不是函数" - 尝试在我的角度应用程序中清除cookie时。据我所知,我正在关注角度文档所说的内容,以及此论坛上已删除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时。

3 个答案:

答案 0 :(得分:4)

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

  

只显示一个简单的对象,并添加或删除属性   进出该对象,最后创建/删除新的cookie   目前的$ eval。对象的属性只能是字符串。

     

需要安装ngCookies模块。

如果你使用1.4.x及以上,你的实现实际上是正确的。

答案 1 :(得分:0)

在页面中包含角度Cookie文件。

Angular cookies文件: -

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

答案 2 :(得分:0)

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

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