摘要:但請(qǐng)求成功不代表這次請(qǐng)求沒有錯(cuò)誤,例如我接收到請(qǐng)求數(shù)據(jù)有個(gè)字段屬性為時(shí),代表用戶操作異常,我需要將用戶彈回登陸頁面,重新登陸。
使用Ng開發(fā)中必不可少要用到$http通信,那么這個(gè)$http 和JQ封裝好的ajax有什么區(qū)別呢? 1.$http 的post傳遞參數(shù)方法不同
ng使用post方法傳遞的參數(shù)是json格式,而Jq的post方法傳遞過去的參數(shù)是form表格傳遞方式,所以如果使用ng開發(fā),最好一開始就和后臺(tái)約定好接收數(shù)據(jù)時(shí)先解析json數(shù)據(jù),不然后臺(tái)很有可能接收不了數(shù)據(jù)。
2.ng能配合$q使用Promise方式雖然新版Jq也支持Promise,不過Ng的也很不錯(cuò)
附上一篇文章
https://segmentfault.com/a/1190000002788733
一般使用Jq的Ajax時(shí),都會(huì)做一些錯(cuò)誤處理,然而如果項(xiàng)目龐大了,有些錯(cuò)誤處理是重復(fù)多次書寫的。就算是簡(jiǎn)簡(jiǎn)單單寫一個(gè) error 方法,寫多了也會(huì)覺得很煩。
但是Ng支持一個(gè)攔截器的服務(wù)
angular.module("app").factory("myInterceptor", ["$log", function($log) { //攔截器 統(tǒng)一處理 登陸異常狀態(tài) 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("這次請(qǐng)求發(fā)生錯(cuò)誤") } response.config.responseTimestamp = new Date().getTime(); return response; } }; return myInterceptor; }]);
以上代碼是創(chuàng)建一個(gè)叫myInterceptor的服務(wù),response表示如果請(qǐng)求有響應(yīng)時(shí)執(zhí)行funtion 那么當(dāng)請(qǐng)求狀態(tài)為200時(shí)就是請(qǐng)求成功,不是就是請(qǐng)求失敗,所以統(tǒng)一一個(gè)錯(cuò)誤提示方法(ot為本人封裝好的一個(gè)提示方法)。但請(qǐng)求成功不代表這次請(qǐng)求沒有錯(cuò)誤,例如我接收到請(qǐng)求數(shù)據(jù)有個(gè)字段屬性為0時(shí),代表 用戶操作異常 , 我需要將用戶彈回登陸頁面,重新登陸。
然后在app中注入服務(wù)
$httpProvider.interceptors.push("myInterceptor");
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/79919.html
摘要:很多人反應(yīng)很難訪問,所以轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的容器部署。在容器化過程中,我們并未配置任何等,只是保留服務(wù)所需的配置項(xiàng)而已,而這一部分我們可以放在反向代理層完成。 很多人反應(yīng)很難訪問 Github Page,所以 ng-alain.com 轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的 Angular 容器部署。 以下我會(huì)闡述 ng-alain 整個(gè)過程,其中包括 Docke...
摘要:很多人反應(yīng)很難訪問,所以轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的容器部署。在容器化過程中,我們并未配置任何等,只是保留服務(wù)所需的配置項(xiàng)而已,而這一部分我們可以放在反向代理層完成。 很多人反應(yīng)很難訪問 Github Page,所以 ng-alain.com 轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的 Angular 容器部署。 以下我會(huì)闡述 ng-alain 整個(gè)過程,其中包括 Docke...
摘要:引言是用于構(gòu)建基于瀏覽器的復(fù)雜應(yīng)用的下一代框架。它涵蓋了的一些基本概念,包括組件模型服務(wù)管道傳入傳出以及事件播散等使用方法,并介紹了項(xiàng)目的基本組織結(jié)構(gòu)等。用于雙向綁定,使用來定義,專門用于定義雙向綁定。 引言 Angular2 是 Google 用于構(gòu)建基于瀏覽器的復(fù)雜應(yīng)用的下一代 MV* 框架。該項(xiàng)目是我學(xué)習(xí) Angular2 的入門項(xiàng)目,我覺得它很友好地表達(dá)了 Angular2 的...
摘要:詳情怎樣規(guī)避地獄作者先介紹什么是地獄,以及在開發(fā)過程中怎樣去規(guī)避地獄,一時(shí)爽性能問題火葬場(chǎng)。詳情其他亮點(diǎn)匯總開發(fā)者大會(huì)已于北京時(shí)間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數(shù)據(jù)類型:BigInt BigInt?是 JavaScript 中的一個(gè)新的數(shù)字基本(primitive)類型,可以用任意精度表示整數(shù)。使用?BigInt?可以安全地存儲(chǔ)和操作大整數(shù),...
摘要:詳情怎樣規(guī)避地獄作者先介紹什么是地獄,以及在開發(fā)過程中怎樣去規(guī)避地獄,一時(shí)爽性能問題火葬場(chǎng)。詳情其他亮點(diǎn)匯總開發(fā)者大會(huì)已于北京時(shí)間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數(shù)據(jù)類型:BigInt BigInt?是 JavaScript 中的一個(gè)新的數(shù)字基本(primitive)類型,可以用任意精度表示整數(shù)。使用?BigInt?可以安全地存儲(chǔ)和操作大整數(shù),...
閱讀 1161·2023-04-26 02:21
閱讀 2929·2021-09-24 09:47
閱讀 1726·2019-08-30 15:55
閱讀 2291·2019-08-30 14:01
閱讀 2475·2019-08-29 14:01
閱讀 2161·2019-08-29 12:46
閱讀 926·2019-08-26 13:27
閱讀 2092·2019-08-26 12:23