• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >AngularJS > AngularJS的ng Http Request与response格式转换方法

AngularJS的ng Http Request与response格式转换方法

作者:破狼 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含angularjs ng if,angularjs ng repeat,angularjs ng class,angularjs ng click,angularjs ng model等相关知识,破狼 希望在学习及工作中可以帮助到您

本文实例讲述了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);
  }
});

</div>

这里利用jQuery的$.param进行表单提交方式的格式转化,所以我们能够看见的request body 为:

id=1&name=greengerong

</div>

***对于整个app的http request设置:

如果我们需要对整个http的数据转化格式进行设置,那么可以选用在config阶段对$httpProvider默认行为进行设置:

angular.module("app", [])
.config(["$httpProvider", function($httpProvider) {
   $httpProvider.defaults.transformRequest = [
    function(request) {
     return $.param(request);
    }
   ];
  }
]);

</div>

这样我们就可以轻易的转化为form提交方式。

同样$http也为我们提供了transformResponse方式,我们也可以创建自己的response转化,比如json之前加入自定义前缀防止json array攻击等等。

希望本文所述对大家AngularJS程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • AngularJS的ng Http Request与response格式转换方法
  • AngularJS解决ng界面长表达式(ui-set)的方法分析

相关文章

  • 2017-05-30Angular2 (RC5) 路由与导航详解
  • 2017-05-30什么是 AngularJS?AngularJS简介
  • 2017-05-30三种AngularJS中获取数据源的方式
  • 2017-05-30ANGULARJS中使用JQUERY分页控件
  • 2017-05-30AngularJS表单详解及示例代码
  • 2017-05-30AngularJS实现动态编译添加到dom中的方法
  • 2017-05-30AngularJS基础 ng-dblclick 指令用法
  • 2017-05-30angularjs实现多张图片上传并预览功能
  • 2017-05-30详解AngularJS中自定义过滤器
  • 2017-05-30angular ngClick阻止冒泡使用默认行为的方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • Angular.js中控制器之间的传值详解
    • AngularJS学习第二篇 AngularJS依赖注入
    • AngularJs bootstrap搭载前台框架——准备工作
    • Angular的$http与$location
    • 详解Angular中的自定义服务Service、Provider以及Factory
    • AngularJS操作键值对象类似java的hashmap(填坑小结)
    • 利用Angularjs实现幻灯片效果
    • 详解AngularJs HTTP响应拦截器实现登陆、权限校验
    • 详解angular用$sce服务来过滤HTML标签
    • AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有