如何将用户名和密码传递给$ resource

时间:2017-05-23 16:02:40

标签: angularjs rest login header resources

我是Angular的新手,我想设置我的登录表单以允许我的用户登录。我收到此错误:

  

无法读取未定义的属性'setUserPass'

我有这项服务:

(function(){
    var app = angular.module('myapp');
    app.service('loginSvc',function($resource){
        var username="";
        var password="";
        self=this;

        self.setUserPass=function(user,pass){
          self.username=user;
          self.password=pass;
        };

        return $resource("http://localhost:8080/user",{},
                {get: {method:'GET',
                headers : { authorization : "Basic "+ 
                btoa(self.username+":"+self.password)}}});
      });

})();

并在控制器中:

        var username="xxxx";
        var password="xxx";
        var self = this;
        loginSvc().setUserPass(self.username,self.password);
        self.auth = loginSvc().get();`enter code here`

我应该如何将用户名和密码传递给我的服务?

1 个答案:

答案 0 :(得分:-1)

确保将服务注入控制器并使用您分配给它的引用。

尝试:

    angular.module('myapp')
      .controller('UserCtrl', ['loginSvc', function (loginSvc) {
        var username="xxxx";
        var password="xxx";
        var self = this;
        loginSvc.setUserPass(self.username,self.password);
        self.auth = loginSvc.get();
      }]);