angular ngCookies没有't重新启动浏览器后保存cookie
angular ngCookies doesn't save cookies after restarting the browser
var app = angular.module('MyApp', ['ngCookies']);
app.controller('MyController', function ($scope, $window, $cookies) {
$scope.WriteCookie = function () {
$cookies.put("Name", $scope.Name);
};
$scope.ReadCookie = function () {
$window.alert($cookies.get('Name'));
};
$scope.RemoveCookie = function () {
$cookies.remove('Name');
};
});
<html>
<head>
<title></title>
</head>
<body>
<div ng-app="MyApp" ng-controller="MyController">
Name:
<input type="text" ng-model="Name" />
<br />
<br />
<input type="button" value="Write Cookie" ng-click="WriteCookie()" />
<input type="button" value="Read Cookie" ng-click="ReadCookie()" />
<input type="button" value="Remove Cookie" ng-click="RemoveCookie()" />
</div>
</body>
</html>
我为angular中的cookie编写了这个简单的demp应用程序。
每当我输入这个(通过nodeJS(并转到这个url时:http://127.0.0.1:8080
cookie已预先存在于浏览器的cookie中。当我单击刷新或关闭选项卡并使用此url打开新选项卡(不关闭浏览器(时,cookie会保留。
然而,当我关闭浏览器(chrome/IE/firefox(并再次打开此url时,cookie不在那里!
为什么?即使我关掉电脑重新启动,它也会记住我的cookis登录信息,我怎么能让它像facebook一样呢?
感谢
index.html
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-cookies.min.js"></script>
<script type="text/javascript">
var app = angular.module('MyApp', ['ngCookies']);
app.controller('MyController', function ($scope, $window, $cookies) {
$scope.WriteCookie = function () {
$cookies.put("Name", $scope.Name);
};
$scope.ReadCookie = function () {
$window.alert($cookies.get('Name'));
};
$scope.RemoveCookie = function () {
$cookies.remove('Name');
};
});
</script>
<div ng-app="MyApp" ng-controller="MyController">
Name:
<input type="text" ng-model="Name" />
<br />
<br />
<input type="button" value="Write Cookie" ng-click="WriteCookie()" />
<input type="button" value="Read Cookie" ng-click="ReadCookie()" />
<input type="button" value="Remove Cookie" ng-click="RemoveCookie()" />
</div>
</body>
</html>
这是因为如果您不为cookie设置过期时间,它将被创建为会话cookie。一旦关闭浏览器,它就会被删除。
为了避免这种情况,只需为cookie设置一个到期时间,例如这里为一天:
var expireDate = new Date();
expireDate.setDate(expireDate.getDate() + 1);
$cookies.put('Name', $scope.Name, {
expires: expireDate
});
相关文章:
- 如何在浏览器重新加载时保存位置哈希状态
- 当我在重新启动cordova应用程序后尝试添加更多数据时,lokijs会丢失数据库和收集中的数据
- 重新启动jquery脚本后,角度停止工作
- Chrome内容脚本制作cookie;chrome重新启动时,cookie会被删除.如何使其稳定
- preventDefault之后的重新启动事件
- WebStorm,使用Node Supervisor(因此不必在每次代码更改后重新启动)
- 重新启动游戏jQuery功能不工作
- Web服务器意外退出,正在重新启动新实例
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 使用 javascript 重新启动谷歌浏览器
- 如果视频不在浏览器视图中,但未重新启动,则停止播放视频
- 可以在集成测试中的规格之间重新启动浏览器吗
- 如何从Firefox扩展重新启动Mozila Firefox浏览器
- fadeIn()在调整浏览器大小后重新启动
- 重新启动浏览器后清除本地存储变量
- angular ngCookies没有't重新启动浏览器后保存cookie
- 如何将数据存储在crossrider本地数据库中,以便数据一直保存到浏览器重新启动/关闭
- 浏览器:需要重新启动的原因
- 卸载activex后,以管理员模式重新启动IE浏览器
- 如果我重新启动应用程序池,客户端浏览器会引用我更新的javascript或css文件吗?