Angular Cookies.remove不工作

rob*_*bin 9 javascript cookies angularjs

我有一个场景,我使用普通的java脚本添加cookie,并尝试使用角度Cookie服务检索它,这是正常工作.但是使用Cookies服务删除cookie是行不通的.我的JS就像

<script type="text/javascript">
        var app = angular.module('MyApp', ['ngCookies']);
        app.controller('MyController', function ($scope, $window, $cookies) {
            $scope.ReadCookie = function () {
                $window.alert($cookies.get('username'));
            };
            $scope.RemoveCookie = function () {
                $cookies.remove('username');
            };

        });
         function addCookie(){
                document.cookie="username=John Doe;path=/";
            }
    </script>
Run Code Online (Sandbox Code Playgroud)

我的HTML是

<div ng-app="MyApp" ng-controller="MyController">
        <input type="button" value="Write Cookie" onclick="addCookie()"/>
        <input type="button" value="Read Cookie" ng-click="ReadCookie()" />
        <input type="button" value="Remove Cookie" ng-click="RemoveCookie()" />
    </div>
Run Code Online (Sandbox Code Playgroud)

它是否与cookie的路径有关,如果是,我怎么能在remove函数中提到路径?

小智 22

尝试使用{ path: YOUR_PATH }as参数.

例如,用<base href="/">,放$cookies.remove('username', { path: '/' });


Vis*_*hnu 5

尝试这个

app.controller('MyController', function ($scope, $window, $cookies) {
    $scope.ReadCookie = function () {
        $window.alert($cookies.get('username'));
    };
    $scope.RemoveCookie = function () {
        $cookies.remove('username');
    };
    $scope.addCookie= function () {
        $cookies.put('username','John',[path:'/']);
    };

});
Run Code Online (Sandbox Code Playgroud)