angularjs .success不是函数

时间:2017-02-17 17:58:06

标签: javascript angularjs

我在AngularJs中创建了一个项目进行学习,但我发现了一个错误:

  

错误:$ http.post(...)。成功不是一个功能   authFactory.login@http://localhost:3000/app/services/authService.js:8:10   vm.doLogin @ http://localhost:3000/app/controllers/mainController.js:20:3

下面的代码

控制器

   vm.doLogin  = function(){
            vm.processing = true;
            vm.error = '';
            Auth.login(vm.loginData.username, vm.loginData.password)
            .success(function(data){
                vm.processing = false;
                Auth.getUser().then(function(data){
                    vm.user = data.data;
                });
                if (data.success) {
                    $location.path('/');
                }else{
                    vm.error = data.message;
                }
            });
        }

服务

    authFactory.login = function(username, password){
        return $http.post('/api/login',{
            username: username,
            password: password
        })
        .success(function(data){
            AuthToken.setToken(data.token);
            return data;
        })
    },

感谢您的聆听。

2 个答案:

答案 0 :(得分:0)

authFactory.login = function(username, password){
  $http.post('/api/login',{
    username: username,
    password: password
  }).then(function success(data){
    //Some code for success.
  }, function error(err){
    console.log(err)
  });
 },

使用.then代替.success

访问数据

答案 1 :(得分:0)

控制器

      vm.doLogin  = function(){
            vm.processing = true;
            vm.error = '';
            Auth.login(vm.loginData.username, vm.loginData.password)
            .then(function(data){
                vm.processing = false;
                Auth.getUser().then(function(data){
                    vm.user = data.data;
                });
                if (data.success) {
                    $location.path('/');
                }else{
                    vm.error = data.message;
                }
            });
        }

服务

  authFactory.login = function(username, password){
        return $http.post('/api/login',{
            username: username,
            password: password
        })
        .then(function(data){
            AuthToken.setToken(data.token);
            return data;
        })
    },
相关问题