AngularJS, $ cookieStore.put не является функцией

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);
        }...

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

Что я делаю не так?

Теги:

3 ответа

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

Служба $ cookieStore устарела. Вместо этого используйте $ cookie.

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

0

Угловая версия == 1.3.5. Предположим, что значение заголовка было установлено "X-AUTH-TOKEN = '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...
            }
        });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню