对比分析AngularJS中的$http.post与jQuery.post的区别


Posted in Javascript onFebruary 27, 2015

很多时候我们需要用ajax提交post数据,angularjs与jq类似,也有封装好的post。

但是jQuery的post明显比angularjs的要简单一些,人性化一些。

AngularJS:

$http.post('do-submit.php',myData)

.success(function(){

    // some code

});

jQuery:

$.post('do-submit.php', myData, function() {

    // some code

});

看起来没什么区别吧?可是,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到,而需要用:

$params = json_decode(file_get_contents('php://input'),true);

来获取。什么原因呢?

这是因为两者的post对header的处理有所不同……jQuery会把作为JSON对象的myData序列化,例如:

var myData = { a : 1, b : 2 };

// jQuery在post数据之前会把myData转换成字符串:"a=1&b=2"

而Angular不会。

解决方案是什么?

1.引入jquery,前提是目标用户不介意多加载一个几十K的脚本。(不推荐)

2.在服务器端(PHP)通过  $params = json_decode(file_get_contents('php://input'),true);   获取参数,小项目可以,大项目要一个一个改。(不推荐)

3.修改Angular的$httpProvider的默认处理:http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/  (为了便于以后的管理,这是最好的办法)

小伙伴们是否对AngularJS中的$http.post与jQuery.post的区别有了进一步的认识了呢,希望大家读完本文能够有所得。

Javascript 相关文章推荐
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
将list转换为json失败的原因
Dec 17 Javascript
jquery的父子兄弟节点查找示例代码
Mar 03 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
Vue2.X 通过AJAX动态更新数据
Jul 17 Javascript
前端面试知识点目录一览
Apr 15 Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
如何实现vue的tree组件
Dec 03 Vue.js
JavaScript中Function详解
Feb 27 #Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 #Javascript
js实现鼠标触发图片抖动效果的方法
Feb 27 #Javascript
javascript实现当前页导航激活的方法
Feb 27 #Javascript
jquery 根据name名获取元素的value值
Feb 27 #Javascript
jQuery使用元素属性attr赋值详解
Feb 27 #Javascript
jquery实现公告翻滚效果
Feb 27 #Javascript
You might like
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
php和html的区别点详细总结
2019/09/24 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
详解Python如何生成词云的方法
2018/06/01 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
超市食品安全承诺书
2015/04/29 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
MySQL系列之四 SQL语法
2021/07/02 MySQL
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript