2015-09-25 87 views
0

我試圖讓一個回調函數在一個Angular $ http 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?'); 
     }); 
    }; 

}]); 
+0

您是否收到任何控制檯錯誤? – Vineet

+0

沒有錯誤。該帖子的作品。只是不是回調 – nickg

+0

添加'.catch(function(){console.log(arguments);});',並在$ http.post行添加一個斷點。任何結果? –

回答

2

謝謝大家誰幫助。 OMG我剛剛意識到出了什麼問題。我從來沒有用'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!'); 
    }); 
}; 
+0

你至少節省了3個小時。如此多的更新。我的問題也表達了。 –

+0

熱潮!這是答案。 – NicholasByDesign