AngularJS的ng Http Request与response格式转换方法
本文实例讲述了AngularJS的ng Http Request与response格式转换方法。分享给大家供大家参考,具体如下:
angular作为Single Page Application推荐的交互方式当然是基于json的ajax调用。但今天要说的是当你不幸工作在一个遗留或者不可控制的服务上,而这服务是基于非json提交方式(或许是常规表单(form)提交,或者其他自定义数据格式),那么我们只能改变ng内部$http默认request/response格式转化方式。
所幸的是ng $http给我们提供了多种可用方式转化数据格式(下面demo将以form提交方式为例):
***对于部分单独的http request设置:
对于http ajax方式最后一个参数都是关于http的配置信息,其中包括一项transformRequest,我们可以利用transformRequest在ajax发送数据之前改变数据的格式,例如下边的demo:
$http.post("/url", {
id: 1,
name: "greengerong"
}, {
transformRequest: function(request) {
return $.param(request);
}
});
这里利用jQuery的$.param进行表单提交方式的格式转化,所以我们能够看见的request body 为:
id=1&name=greengerong
***对于整个app的http request设置:
如果我们需要对整个http的数据转化格式进行设置,那么可以选用在config阶段对$httpProvider默认行为进行设置:
angular.module("app", [])
.config(["$httpProvider", function($httpProvider) {
$httpProvider.defaults.transformRequest = [
function(request) {
return $.param(request);
}
];
}
]);
这样我们就可以轻易的转化为form提交方式。
同样$http也为我们提供了transformResponse方式,我们也可以创建自己的response转化,比如json之前加入自定义前缀防止json array攻击等等。
希望本文所述对大家AngularJS程序设计有所帮助。
- JSP 中request与response的用法详解
- @ResponseBody 和 @RequestBody 注解的区别
- C#中Request.Cookies 和 Response.Cookies 的区别分析
- http调用webservice操作httprequest、httpresponse示例
- Asp.net response对象与request对象使用介绍
- ASP.NET笔记之 Request 、Response 与Server的使用
- JSP内置对象:Request和Response的简单介绍及使用
- jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
- JSP中Servlet的Request与Response的用法与区别
相关文章
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-11-11
详解AngularJs中$sce与$sceDelegate上下文转义服务
这篇文章给大家详细介绍了AngularJs提供的严格上下文转义服务$sce与$sceDelegate,文中介绍的很详细,有需要的朋友们可以参考借鉴。2016-09-09
Angular基于Constructor Parameter的依赖注入方式详解
这篇文章主要为大家介绍了Angular基于Constructor Parameter的依赖注入方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11


最新评论