AngularJS cookie无效

时间:2015-10-16 12:59:25

标签: javascript angularjs cookies ionic

app.js

angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova', 'ngCookies'])

.run(function ($ionicPlatform) {
$ionicPlatform.ready(function () {

if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);

}
         if (window.StatusBar) {
                StatusBar.styleLightContent();
         }

});
})

.config(function ($stateProvider, $urlRouterProvider) {

$stateProvider

  .state('HomePage', {
             url: '/HomePage/:id',
             templateUrl: 'templates/HomePage.html',
             controller: 'HomePageCtrl'
         })
         .state('login', {
             url: '/login',
             templateUrl: 'templates/Login.html',
             controller: 'LoginCtrl'
         });
  $urlRouterProvider.otherwise('/login');

});

controllers.js

angular.module('starter.controllers', [])



.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup, $state, $location, $http, $cookieStore) {

$cookieStore.put('mycookie', 'cookie value');
var favoriteCookie = $cookieStore.get('mycookie');

alert(favoriteCookie);

})

问题:

我是Angular JS Ionic的新手。我正在尝试在angularjs中使用 cookie

当我使用 $ cookieStore

我低于例外

例外:

Uncaught Error: [$injector:modulerr] Failed to instantiate module starter due to:
Error: [$injector:modulerr] Failed to instantiate module ngCookies due to:
Error: [$injector:nomod] Module 'ngCookies' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

我将 ngCookies 添加到 ngular.module 但是它对我不起作用。

我到底错过了哪里?我怎样才能在角度js中使用cookie。

任何帮助将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:3)

我发现$ cookies在Cordova / Phonegap应用程序中不起作用,因为这些页面是作为文件URL提供的。在普通的桌面浏览器中,如果您从文件系统提供页面,它也无法正常工作 - 它在通过服务器或本地主机提供服务时正常工作。

所以我假设角度$ cookies不适用于Cordova应用程序。 也许这是一个解决方法?我只是不知道,也许有人会给出答案。

答案 1 :(得分:1)

可能您错过了添加angular-cookies.js文件

若是,请加上它。