欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【对比分析AngularJS中的$http.post与jQuery.post的区别】,下面是详细的讲解!
对比分析AngularJS中的$http.post与jQuery.post的区别
很多时候我们需要用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的区别有了进一步的认识了呢,希望大家读完本文能够有所得。
关于对比分析AngularJS中的$http.post与jQuery.post的区别的用户互动如下:
相关问题:jquery中的ajax使用,GET和POST两种传递方式有什么...
答:这是http请求的传递方式 get是url传递参数,post是暗文传递,url中看到 一般网站中的搜索大多用get传递,便于收藏地址和搜索引擎抓取 像注册这种表单较多的建议使用post 个人习惯,一般查询类get使用的多, 修改,删除,新增post多 >>详细
相关问题:jquery $.ajax $.get $.post的区别是什么噢?
答:$.ajax 是 jQuery 底层 AJAX 实现,$.ajax是一种通用的底层封装,$.ajax()请求数据之后,则需要使用回调函数,有beforeSend、error、dataFilter、success、complete等。 $.get $.post是简单易用的高层实现,我们使用$.get $.post方法,jQuery会... >>详细
相关问题:jquery post如何传值
答:定义和用法post() 方法通过 HTTP POST 请求从服务器载入数据。语法jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)参数描述url 必需。规定把请求发送到哪个 URL。 data 可眩映射或字符串值。规定连同请求发送到服务器的数据。... >>详细
- 【Ajax】jQuery 学习第六课 实现一个Ajax的TreeVi
- 【extjs】extjs每个组件要设置唯一的ID否则会出错
- 【bootstrap3】基于bootstrap3和jquery的分页插件
- 【hover】jQuery控制图片的hover效果(smartRollo
- 【div】div浮层 滚动条移动 位置保持不变的4种方
- 【Cookie】Cookie 小记
- 【arguments】JavaScript的arguments对象应用示例
- 【ECMAScript5】ECMAScript5中的对象存取器属性:
- 【function】JavaScript function 的 length 属性
- 【ExtJs】ExtJs动态生成treepanel的Json格式-tree
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
