2015-07-01 2 views
0

Я получаю сообщение об ошибке - «$ cookieStore.put не является функцией, когда я пытаюсь сохранить файлы cookie в своем приложении. Я использую AngularJS 1.4.1 и файлы cookie одинаковые.

var examinationApp = angular.module("examinationApp", ['ngCookies']); 
examinationApp.controller("examinationCtrl", ['$scope', '$window', '$http', 
'$interval','$cookieStore', function ($scope, $window, $http, $cookieStore, 
modalDialog){ 
$scope.saveTestsToCookieStore = function() { 
      $cookieStore.put('answeredTests',JSON.stringify($scope.data)); 
      $cookieStore.put('answeredQuestions',JSON.stringify($scope.answeredTests)); 
      $cookieStore.put('questionStopped',$scope.currentQN); 
     }... 

Когда я пытаюсь сохранить куки я об ошибке, получить - TypeError: $ cookieStore.put не является функцией

Что я делаю неправильно

ответ

2

Ваши параметры не выстраиваются в очередь.? ...

Сравните список зависимостей в аннотации встроенного массива с списком параметров в объявлении функции. Списки зависимостей должны совпадать (одинаковые зависимости в том же порядке). (В принципе, ваша функция контроллер пытается вызвать put на $interval, а не на $cookieStore)

Что у вас есть ...

examinationApp.controller("examinationCtrl", [ 
    '$scope', '$window', '$http', '$interval','$cookieStore', 
    function ($scope, $window, $http, $cookieStore, modalDialog) { 

Что вам нужно ...

examinationApp.controller("examinationCtrl", [ 
    '$scope', '$window', '$http', '$cookieStore', 'modalDialog', 
    function ($scope, $window, $http, $cookieStore, modalDialog) { 
1

Angularjs> = 1,3

The $cookieStore service is deprecated. Please use the $cookies service instead.

Вы должны использовать $cookies для доступа к файлам cookie браузера.

0

Угловая версия == 1.3.5, Пусть значение заголовка было установлено "X-AUTH-токен = 'eyJwYXNzd29yZCI6ImFkbWlu'" в классе Application Security после аутентификации.

$scope.postData = "{\"username\" : username , \"password\": password ,\"email\" :email}"; 

$http({ 
      method: 'POST', 
      url: '/API/authenticate', 
      data: postData, 
      headers: { 
       "Content-Type": "application/x-www-form-urlencoded", 
       "X-Login-Ajax-call": 'true' 
      } 
     }) 
     .then(function(response) { 
      if (response.data == 'ok') { 
       $cookies['X-AUTH-TOKEN']=response.headers('X-AUTH-TOKEN'); 
       window.location.replace('/'); 
      } 
      else { 

       // Error Message... 
      } 
     }); 
Смежные вопросы