ng使用post方法傳遞的參數是json格式,而Jq的post方法傳遞過去的參數是form表格傳遞方式,因此若是使用ng開發,最好一開始就和後臺約定好接收數據時先解析json數據,否則後臺頗有可能接收不了數據。html
雖然新版Jq也支持Promise,不過Ng的也很不錯
附上一篇文章
http://www.javashuo.com/article/p-ejzplnve-h.htmlajax
通常使用Jq的Ajax時,都會作一些錯誤處理,然而若是項目龐大了,有些錯誤處理是重複屢次書寫的。就算是簡簡單單寫一個 error
方法,寫多了也會以爲很煩。json
可是Ng支持一個攔截器的服務segmentfault
angular.module("app").factory('myInterceptor', ['$log', function($log) { //攔截器 統一處理 登錄異常狀態 var myInterceptor = { response: function(response) { // $rootScope.loading = false; if (response.status == 200) { var info = response.data; if (info.status == 0) { location.href = "/adminWcloud/login.html"; } } else { ot.warn("此次請求發生錯誤") } response.config.responseTimestamp = new Date().getTime(); return response; } }; return myInterceptor; }]);
以上代碼是建立一個叫myInterceptor
的服務,response
表示若是請求有響應時執行funtion
那麼當請求狀態爲200
時就是請求成功,不是就是請求失敗,因此統一一個錯誤提示方法(ot爲本人封裝好的一個提示方法
)。但請求成功不表明此次請求沒有錯誤,例如我接收到請求數據有個字段屬性爲0時,表明 用戶操做異常 , 我須要將用戶彈回登錄頁面,從新登錄。app
而後在app中注入服務ide
$httpProvider.interceptors.push('myInterceptor');