对比分析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面向对象入门基础详细介绍
Sep 05 Javascript
js 通用订单代码
Dec 23 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
javascript查询字符串参数的方法
Jan 28 Javascript
javascript简单进制转换实现方法
Nov 24 Javascript
浅析bootstrap原理及优缺点
Mar 19 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
Vue项目中设置背景图片方法
Feb 21 Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 Javascript
详解JavaScript自定义函数
Jul 29 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
php桌面中心(一) 创建数据库
2007/03/11 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php函数之子字符串替换 str_replace
2011/03/23 PHP
关于PHP开发的9条建议
2015/07/27 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
有关Python的22个编程技巧
2018/08/29 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
印度网上药店:1mg
2017/10/13 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
蔻驰法国官网:COACH法国
2018/11/14 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
公司培训欢迎词
2014/01/10 职场文书
股份转让协议书
2014/04/12 职场文书
庆七一活动总结
2014/08/27 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
人生遥控器观后感
2015/06/11 职场文书
社区服务活动感想
2015/08/11 职场文书