AngularJS的ng Http Request與response格式轉(zhuǎn)換方法
本文實例講述了AngularJS的ng Http Request與response格式轉(zhuǎn)換方法。分享給大家供大家參考,具體如下:
angular作為Single Page Application推薦的交互方式當然是基于json的ajax調(diào)用。但今天要說的是當你不幸工作在一個遺留或者不可控制的服務(wù)上,而這服務(wù)是基于非json提交方式(或許是常規(guī)表單(form)提交,或者其他自定義數(shù)據(jù)格式),那么我們只能改變ng內(nèi)部$http默認request/response格式轉(zhuǎn)化方式。
所幸的是ng $http給我們提供了多種可用方式轉(zhuǎn)化數(shù)據(jù)格式(下面demo將以form提交方式為例):
***對于部分單獨的http request設(shè)置:
對于http ajax方式最后一個參數(shù)都是關(guān)于http的配置信息,其中包括一項transformRequest,我們可以利用transformRequest在ajax發(fā)送數(shù)據(jù)之前改變數(shù)據(jù)的格式,例如下邊的demo:
$http.post("/url", {
id: 1,
name: "greengerong"
}, {
transformRequest: function(request) {
return $.param(request);
}
});
這里利用jQuery的$.param進行表單提交方式的格式轉(zhuǎn)化,所以我們能夠看見的request body 為:
id=1&name=greengerong
***對于整個app的http request設(shè)置:
如果我們需要對整個http的數(shù)據(jù)轉(zhuǎn)化格式進行設(shè)置,那么可以選用在config階段對$httpProvider默認行為進行設(shè)置:
angular.module("app", [])
.config(["$httpProvider", function($httpProvider) {
$httpProvider.defaults.transformRequest = [
function(request) {
return $.param(request);
}
];
}
]);
這樣我們就可以輕易的轉(zhuǎn)化為form提交方式。
同樣$http也為我們提供了transformResponse方式,我們也可以創(chuàng)建自己的response轉(zhuǎn)化,比如json之前加入自定義前綴防止json array攻擊等等。
希望本文所述對大家AngularJS程序設(shè)計有所幫助。
- JSP 中request與response的用法詳解
- @ResponseBody 和 @RequestBody 注解的區(qū)別
- C#中Request.Cookies 和 Response.Cookies 的區(qū)別分析
- http調(diào)用webservice操作httprequest、httpresponse示例
- Asp.net response對象與request對象使用介紹
- ASP.NET筆記之 Request 、Response 與Server的使用
- JSP內(nèi)置對象:Request和Response的簡單介紹及使用
- jquery ajax學習筆記2 使用XMLHttpRequest對象的responseXML
- JSP中Servlet的Request與Response的用法與區(qū)別
相關(guān)文章
解決Angularjs異步操作后臺請求用$q.all排列先后順序問題
解決Angularjs異步操作后臺請求用$q.all排列先后順序問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
詳解AngularJs中$sce與$sceDelegate上下文轉(zhuǎn)義服務(wù)
這篇文章給大家詳細介紹了AngularJs提供的嚴格上下文轉(zhuǎn)義服務(wù)$sce與$sceDelegate,文中介紹的很詳細,有需要的朋友們可以參考借鑒。2016-09-09
分享使用AngularJS創(chuàng)建應(yīng)用的5個框架
如果你計劃使用AngularJS創(chuàng)建你的Web應(yīng)用,那現(xiàn)在就開始吧。你不需要有任何的恐懼和擔心,因為現(xiàn)在有很多的框架都可以很好地支持AngularJS2015-12-12
Angular基于Constructor?Parameter的依賴注入方式詳解
這篇文章主要為大家介紹了Angular基于Constructor?Parameter的依賴注入方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
angularjs實現(xiàn)柱狀圖動態(tài)加載的示例
本篇文章主要介紹了angularjs實現(xiàn)柱狀圖動態(tài)加載的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
spring+angular實現(xiàn)導(dǎo)出excel的實現(xiàn)代碼
這篇文章主要介紹了spring+angular實現(xiàn)導(dǎo)出excel的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02

