更新:当我发布这个问题时,我一直在直接从我的桌面执行代码。我只是将我的cookie样本放入在我的localhost服务器中运行的一些角度代码中,现在我可以成功地创建和读取来自所有浏览器的cookie:Chrome,IE和Firefox。当代码未从服务器提供时,Chrome是否遵循关于创建/阅读Cookie的规则?
原始问题: 我创建了一个非常简单的angularjs应用程序,尝试使用角度cookie,虽然它可以在Firefox和IE中使用,但它似乎不适用于Chrome。
这是我的HTML代码:
<html ng-app="myApp">
<head>
<meta charset="utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular-cookies.js"></script>
<script src="js/cookieApp.js"></script>
</head>
<body ng-controller="mainCtrl">
</body>
</html>
这是我的角度代码:
(function () {
angular.module('myApp', ['ngCookies'])
.controller('mainCtrl', ['$cookies', function($cookies) {
$cookies.put('myFavorite', "cheese");
var favoriteCookie = $cookies.get('myFavorite');
console.log("myFavorite = " + favoriteCookie);
}]);
})();
当我从Firefox和IE运行此代码时,我可以在控制台日志中看到:
myFavorite = cheese
但是,当我在Chrome中运行时,我会在控制台日志中看到这一点:
myFavorite = undefined
我正在使用的Chrome版本是“版本65.0.3325.181(官方版本)(64位)”。
我在这里做错了什么,或者Chrome中的设置是否需要调整以允许Cookie?