对比分析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 相关文章推荐
JavaScript CSS修改学习第二章 样式
Feb 19 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
script标签属性用type还是language
Jan 21 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
Angularjs分页查询的实现
Feb 24 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
Vue项目自动转换 px 为 rem的实现方法
Oct 29 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
Oct 26 Javascript
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初学者头疼十四条问题大总结
2008/11/12 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Python实现的栈(Stack)
2018/01/26 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python实现静态服务器
2019/09/05 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
工程项目经理岗位职责
2013/12/15 职场文书
高中生期末评语
2014/01/28 职场文书
个人求职信范例
2014/01/29 职场文书
《大海那边》教学反思
2014/04/09 职场文书
大学生个人学习总结
2015/02/15 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android