对比分析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 相关文章推荐
基于jQuery的js分页代码
Jun 10 Javascript
DOM 中的事件处理介绍
Jan 18 Javascript
jQuery中校验时间格式的正则表达式小结
Sep 22 Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
PassWord输入框代码分享
Jun 07 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
Apr 20 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
vue.js中npm安装教程图解
Apr 10 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
layui lay-verify form表单自定义验证规则详解
Sep 18 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
javascript连续赋值问题
2015/07/08 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
Javascript继承机制详解
2017/05/30 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
python 网络编程详解及简单实例
2017/04/25 Python
Python List cmp()知识点总结
2019/02/18 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python内存动态分配过程详解
2019/07/15 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
Aosom西班牙:家具在线商店
2020/06/11 全球购物
销售会计工作职责
2013/12/02 职场文书
生产厂长岗位职责
2014/02/21 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
环境卫生整治简报
2015/07/20 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书