对比分析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上传插件 uploadify v3.1使用说明
Jun 18 Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 Javascript
Javascript中With语句用法实例
May 14 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
Sep 04 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
Jul 05 Javascript
Node.js Domain 模块实例详解
Mar 18 Javascript
0基础学习前端开发的一些建议
Jul 14 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 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 strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
JavaScript闭包详解
2015/02/02 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
Python中修改字符串的四种方法
2018/11/02 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
电信专业应届生自荐信
2013/09/28 职场文书
毕业生自我鉴定范文
2013/11/08 职场文书
护理不良事件检讨书
2014/02/06 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
护士自我鉴定总结
2014/03/24 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
单位提档介绍信
2015/10/22 职场文书
Docker部署Mysql8的实现步骤
2022/07/07 Servers