【问题标题】:Angular $http Promises and callbacks not firingAngular $http Promises 和回调未触发
【发布时间】:2015-09-25 18:11:39
【问题描述】:

我正在尝试在 Angular $http Post 之后触发回调函数,但我没有运气。我的 Post 函数正在运行,但回调不起作用。我在 Angular 的网站上看到 .success() 已被弃用,所以我正在尝试 .then() 但这似乎也没有任何作用。

谁能告诉我我错过了什么?非常感谢您提前。

starwarsApp.controller('appController', ['$scope', '$http','$q', function($scope, $http,$q) { 

    $scope.addContact = function(){
        $http.post('/jediList',$scope.jediEntered).then(function(response){
            console.log('Why am I not being seen?');
        }); 
    };

}]);

【问题讨论】:

  • 您是否收到任何控制台错误?
  • 没有错误。该职位有效。只是不是回调
  • 添加.catch(function () {console.log(arguments);});,并在$http.post 行添加断点。有结果吗?
  • 'then' 方法有 2 个参数(第一个用于 'success' 方法,第二个用于 'error' 方法。不过我不确定这是不是原因。

标签: javascript angularjs post callback


【解决方案1】:

感谢所有帮助过的人。天哪,我才意识到出了什么问题。我从来没有用'res.end()停止服务器连接,所以$http.post甚至没有完成调用回调。我花了最后一天为 js 的承诺而苦恼,现在才意识到这一点。

所以这段代码可以正常工作。但是对于任何有类似问题的人,请确保您的 Node 和/或 Express 连接以 res.end() 结束。

$scope.addContact = function(){
    $http.post('/jediList',$scope.jediEntered).then(function(response){
        console.log('NOW I am being seen!');
    }); 
};

【讨论】:

  • 你刚刚为我节省了至少 3 个小时。非常感谢更新。我的问题也很明确。
  • 轰隆隆!这就是答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2019-09-28
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多