时间:2021-05-28
本文实例讲述了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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、调用本js文件中的函数varhttp=require('http');http.createServer(function(request,response
本文实例讲述了AngularJS使用ng-inlude指令加载页面失败的原因与解决方法。分享给大家供大家参考,具体如下:AngularJS中提供的ng-incl
下面,我们开始学习ASP的另一个内建对象Response。与Request是获取客户端HTTP信息相反,Response对象是用来控制发送给用户的信息,包括直接
AngularJS事件AngularJS有自己的HTML事件指令。ng-click指令ng-click指令定义了AngularJS点击事件。AngularJS实
JSP中request与response的用法详解概要:在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于h