0

我收到错误消息 - “当我尝试在我的应用程序中保存 cookie 时,$cookieStore.put 不是一个函数。我使用的是 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 is not a function。

我究竟做错了什么?

4

3 回答 3

2

你的参数没有排好...

将内联数组注释中的依赖项列表与函数声明中的参数列表进行比较。依赖项列表必须对齐(相同的依赖项以相同的顺序)。(基本上,您的控制器函数试图调用puton$interval而不是 on $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) {
于 2015-07-01T03:29:19.860 回答
1

Angularjs >= 1.3

$cookieStore 服务已弃用。请改用 $cookies 服务。

您应该使用$cookies对浏览器的 cookie 进行读/写访问。

于 2015-07-01T06:10:58.147 回答
0

Angular 版本 == 1.3.5 ,假设验证后在应用程序安全类中设置了头值“X-AUTH-TOKEN = ' eyJwYXNzd29yZCI6ImFkbWlu '”。

$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...
            }
        });
于 2016-01-07T05:39:32.957 回答