我收到错误 - " $ 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时。
答案 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();})