2016-08-06 47 views
0

我需要一些網站上的數據才能使狀態正常工作,因此我將http請求解析。但是,如果請求不起作用,我似乎無法獲取任何錯誤消息或發生任何事情。一旦$ http回調內發生問題,'$ stateChangeError'回調就不起作用。 'console.log'似乎不打印任何東西。就好像get請求的失敗回調從未發生過一樣。

resolve:{ 
    list-o-stuff: function($http, $rootScope){ 
     //throw 'test'; 
     // ^that worked (it triggers '$stateChangeError') 
     return $http.get('exampERROR!le.com').then(function(response){ 
      return response; 
     }, function(response){ 
      console.log(response); 
      // that didn't do anything 
      throw response; 
      // that didn't do anthing either 
     }); 
    } 
} 

無賴的權利。我想我會嘗試添加另一個console.log並進行硬刷新... POOF!只要我按Ctrl + F5,Firefox就決定顯示'$ stateChangeError'廣播應該做的所有事情。如果我使用螢火蟲,則此回調中的斷點永遠不會觸發。爲什麼?我該如何調試?

感謝, Kenkron

+0

它在Chrome上的行爲如何? – obe

+0

您能分享錯誤 – Gary

+0

@obe我忘了提及,在Chrome上,我從來沒有收到錯誤消息 – Kenkron

回答

0

記住,爲了使回調被執行時,$ http請求必須在200範圍之外返回錯誤代碼 - 299

按照AngularJS 「documentation

」200至299之間的響應狀態代碼被視爲成功狀態,並且會導致成功回調被調用,任何超出該範圍的響應狀態代碼都將被視爲錯誤狀態並導致錯誤回調被稱爲。還有,地位鱈魚小於-1的歸一化爲零。 -1通常意味着請求被中止,例如使用config.timeout。請注意,如果響應是重定向,XMLHttpRequest將會透明地遵循它,這意味着結果(成功或錯誤)將由最終響應狀態代碼確定。「

+0

它是-1,所以錯誤回調應該肯定會被調用。超時直到頁面刷新? – Kenkron

相關問題