TypeError:无法读取undefined的属性'$ cookies'

时间:2015-06-04 10:54:42

标签: javascript angularjs cookies

我正在尝试将服务器的响应保存到Cookie中,以下是我正在尝试的方法

this.$http({
            method: 'POST',
            url: SOME_URL,
            data: SOME_DATA,
            headers: {
                'Authorization': this.basicAuthorization
            }


        }).success(function(data){
            //console.log(data);
            this.$cookies.putObject('userData', data);
        }).error(function(data){

        });
    }

我还提供了:

    angular.module('mymodule', [
            ....,
            'ngCookies'
        ])
    // ........
    LoginHandler.$inject = ['$http', '$cookies'];
    // ........
    constructor($http, $cookies){ ... }

导致错误的原因是什么?我正在使用angularjs 1.4.0

更新

我已经发现this在.success()等中没有按预期工作。 所以我不得不将其存储在其他变量中。

1 个答案:

答案 0 :(得分:0)

试试这个,

var self = this;
this.$http({
            method: 'POST',
            url: SOME_URL,
            data: SOME_DATA,
            headers: {
                'Authorization': this.basicAuthorization
            }

        }).success(function(data){
            //console.log(data);
            self.$cookies.putObject('userData', data);
        }).error(function(data){

        });
    }