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程序设计有所帮助。
相关推荐
-
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
摘要:本节补充ajax学习笔记1中 第二种方式:使用XMLHttpRequest对象的responseXML的方式来接受XML数据对象的DOM对象 在ajax学习笔记1中已经对准备工作和需要用到的知识做了比较详细的介绍,本节主要介绍需要修改的代码以及新增的代码 .新增一个servlet类 AJAXXMLServer.java 复制代码 代码如下: import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServle
-
C#中Request.Cookies 和 Response.Cookies 的区别分析
.NET中提供了读写Cookie的多种方法,Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie:Response.Cookies 在服务器上创建并以 Set-Cookie 标头的形式传输到客户端.也就是说,一个是客户端向服务器端发送的来的,一个是服务器发送到客户端的. 第一次创建Cookies的时候,下面的2种读取方法读取到的内容是一样: C# 代码 复制代码 代码如下: HttpCookie hc = new HttpCookie("Use
-
JSP内置对象:Request和Response的简单介绍及使用
JSP内置对象之request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.序号 方 法 说 明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属性名的枚举 3 String getCharacterEncoding() 返回字符编码方式 4 int getContentLen
-
@ResponseBody 和 @RequestBody 注解的区别
@ResponseBody 和 @RequestBody 注解的区别 1 前言 在详述 @ResponseBody 和 @RequestBody 注解之前,咱先了解一下 @RequestMapping 注解,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径:用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法.例如. /** * 用于类上,可以没有 */ @RequestMapping
-
JSP中Servlet的Request与Response的用法与区别
JSP中Servlet的Request与Response的用法与区别 简介:Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 一,Request Request代表请求对象,其中封装了对请求中具有请求行.请求头.实体内容的操作的方法
-
JSP 中request与response的用法详解
JSP 中request与response的用法详解 概要: 在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍.因为其实request和response的使用大部分都是对http协议的操作. request对象的介绍 我们先从request对象进行介绍: 我们知道http协议定义了请求服务器的格式: 请求行 请求头 空格 请求体(get请求没有请求体) 好了,这里我们就不详细介绍了,我们只看几个应用就可以了,没什么难度: 应
-
ASP.NET笔记之 Request 、Response 与Server的使用
1.Request 下面做一个实例,通过Request的一些方法来判断浏览图片是不是在内部浏览,还是直接按网址浏览或者被外部使用 复制代码 代码如下: <%@ WebHandler Language="C#" Class="image_Test" %> using System; using System.Web; public class image_Test : IHttpHandler { public void ProcessRequest(Ht
-
Asp.net response对象与request对象使用介绍
1.Response:服务器发给客户端信息,或者说是服务器的向用户发送输出结果. Redirect:让客户端重新定向到指定的 URL. Write:写出指定字符串. 2.request:客户端发给服务器,或者说是从客户端取得信息. form:从使用post提交方式的表单获取表单元素的值. querystring:取回查询字符串中的变量值,适用于get提交方式的表单. 举一个列子:一个登陆页面,还有一个主页面.当登陆页面登陆成功后,就自动跳转到主页面. 1.login.aspx 复制代码 代码如下
-
http调用webservice操作httprequest、httpresponse示例
REST WCF 使得我们调用Web服务时,可以通过HttpRequest的交互简单完成.那么老版的WebService能否做到呢?WebService中通过HttpContext.Current.Rquest/Response,我们一样也可以改造WebMethod. 客户端: 复制代码 代码如下: // 创建一个DataTable DataTable data = new DataTable("Project"); data.Columns.Add("Name")
-
AngularJS的ng Http Request与response格式转换方法
本文实例讲述了AngularJS的ng Http Request与response格式转换方法.分享给大家供大家参考,具体如下: angular作为Single Page Application推荐的交互方式当然是基于json的ajax调用.但今天要说的是当你不幸工作在一个遗留或者不可控制的服务上,而这服务是基于非json提交方式(或许是常规表单(form)提交,或者其他自定义数据格式),那么我们只能改变ng内部$http默认request/response格式转化方式. 所幸的是ng $htt
-
Go语言使用Request,Response处理web页面请求
Go语言处理web页面请求 Request和Response http Requset和Response的内容包括以下几项: Request or response line Zero or more headers An empty line, followed by … … an optional message body 例如一个http Request: GET /Protocols/rfc2616/rfc2616.html HTTP/1.1 Host: www.w3.org User-
-
AngularJS解决ng界面长表达式(ui-set)的方法分析
本文实例讲述了AngularJS解决ng界面长表达式(ui-set)的方法.分享给大家供大家参考,具体如下: 本文来自网友sun shine的问题,问题如下: 您好, 我想求教一个问题. 在$scope中我的对象名字写的特别深, 在 html中我又多次用到了同一个对象, 对不对在 html中让它绑定到一个临时变量呢? 比如: $scope.this.is.a.very.deep.obj = { 'name': 'xxx', 'state': 'active
-
YII Framework学习之request与response用法(基于CHttpRequest响应)
本文实例讲述了YII Framework学习之request与response用法.分享给大家供大家参考,具体如下: YII中提供了CHttpRequest,封装了请求常用的方法.具体代码如下: class CHttpRequest extends CApplicationComponent { public $enableCookieValidation=false; public $enableCsrfValidation=false; public $csrfTokenName='YII_
-
浅谈servlet中的request与response
在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:
-
Laravel框架Request、Response及Session操作示例
本文实例讲述了Laravel框架Request.Response及Session操作.分享给大家供大家参考,具体如下: Request操作 public function request(Request $request){ //1.取值 //echo $request->input('name'); //echo $request->input('sex','未知'); /*if($request->has('name')){ echo $request->input('name
-
Laravel框架控制器的request与response用法示例
本文实例讲述了Laravel框架控制器的request与response用法.分享给大家供大家参考,具体如下: Laravel 控制器的request public function request1(Request $request){ //取值 $name = Request::input('name'); //是否有值 if($request->has('name')){ echo $request->input('name'); } $res = $request->all();
-
关于ThreadLocal对request和response的用法说明
记得在一篇博文中看到描述threadLocal的一句话: ThreadLocal除了适用于多线程保证每条线程都有自己的变量副本外,还适用于在线程上下文中共享某些变量值. 这两种说法是有区别的.前者强调的是,使用ThreadLocal对副本做保护,避免同步.加锁,降低效率:后者强调的是,某个变量线程上下文中,A处用到.B处用到.C处用到,先在入口处set一个值,后使用ThreadLocal的get方法直接在需要用到的地方拿这个值. 项目中,最近理由cookie存值,使用到了threadLocal这
随机推荐
- 解决JS外部文件中文注释出现乱码问题
- JS 正则表达式(学习笔记2)匹配网址url参数
- Java根据模板导出Excel报表并复制模板生成多个Sheet页
- 浅谈iOS 关于小数精确计算(NSDecimalNumber)
- python根据出生日期获得年龄的方法
- PHP获取ip对应地区和使用网络类型的方法
- 简单设置IIS配置PHP调试环境
- xmlplus组件设计系列之树(Tree)(9)
- Python中利用sorted()函数排序的简单教程
- JQuery+Ajax无刷新分页的实例代码
- js 上下文字滚动效果
- Javascript函数式编程语言
- linux bash脚本监控启动停止weblogic服务的脚本写法
- .htaccess文件使用教程总结
- JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
- Node.js Addons翻译(C/C++扩展)
- 从外网访问内网本机的网站实现方法分享
- TabLayout用法详解及自定义样式
- Android local.properties 文件读取实例详解
- Android PhotoView使用步骤实例详解