对比分析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 事件属性绑定带参数的函数
Mar 13 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
Dec 24 Javascript
jquery $.trim()方法使用介绍
May 21 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
May 21 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
Jul 12 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
Nov 01 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 Javascript
前端实现滑动按钮AJAX与后端交互的示例代码
Feb 24 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 函数语法介绍一
2009/06/14 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Python小进度条显示代码
2019/03/05 Python
Python全栈之列表数据类型详解
2019/10/01 Python
python turtle 绘制太极图的实例
2019/12/18 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
计划生育诚信协议书
2014/11/02 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
电影建国大业观后感
2015/06/01 职场文书
地道战观后感
2015/06/04 职场文书