无法读取未定义的 属性 'then' - AngularJS

Cannot read property 'then' of undefined - AngularJS

我想将 Asp.Net Identity 添加到我的应用程序中。

但是当我想注册一个新用户时,javascript 端出现错误:

无法读取未定义的 属性 'then'。

这是我的Controller中的代码:当我点击按钮注册用户时,我进入了下面的函数。

$scope.signUp = function () {

     AuthenticationService.register($scope.registerData).then(function (response) {
        ...
      },
      function (response) {
         ...             
      });
  };

这是我的 Service 中的代码,在上面的 Controller 中调用。

     register: function (registerData) {            
        this.logout();
        Restangular.all('api/account/register').post(registerData);            
     }

我做错了什么?你能帮我找到解决方案吗?

您的服务方法没有return Resangular.all().post() 应该return 的承诺。这是一个 q 承诺。

 register: function (registerData) {            
    this.logout();
    return Restangular.all('api/account/register').post(registerData);  
    //return $http.post("api/account/register", {data:registerData})
 }