jQuery 中get 和post 方法传值需要注意
2009-11-03 21:02
525 查看
用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和 回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢? 刚刚做了几个实验,看看下面的代码就清楚了: 以下内容需要回复才能看到 jquery_data.php <?php echo "post: "; print_r($_POST); echo "get: "; print_r($_GET); ?> jquery_test.html 实验1: $(function() { // post 方法,两处都有数据 $.post('jquery_data.php?v1=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); }); /* 返回结果: post: Array ( [v2] => 2 ) get: Array ( [v1] => 1 ) */ 实验2: $(function() { // post 方法,数据在地址后面, 第二个参数为回调函数 $.post('jquery_data.php?v1=1', function(data) { $('<pre/>').append(data).appendTo('body'); }); }); /* 返回结果,数据在 get 中: post: Array ( ) get: Array ( [v1] => 1 ) */ 实验3: $(function() { // get 方法,用 data 参数传值 $.get('jquery_data.php', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); }); /* 返回结果,数据在 get 中: post: Array ( ) get: Array ( [v2] => 2 ) */ 实验4: $(function() { // get 方法,两处都有数据 $.get('jquery_data.php?v1=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); }); /* 返回结果,两处数据被合并了,都在 get 中: post: Array ( ) get: Array ( [v1] => 1 [v2] => 2 ) */ 实验5: $(function() { // get 方法,两处都有数据,且变量名相同 $.get('jquery_data.php?v2=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); }); /* 返回结果,数据在 get 中,且 data 参数中的数据覆盖了地址后面的数据: post: Array ( ) get: Array ( [v2] => 2 ) */ 通过这几个简单的小例子不难看出,地址后面的数据永远是以 get 形式传递的,无论使用的是 get 方法还是 post 方法;而 data 参数中的数据是根据方法决定传递方式的。 因此,为了避免混淆,建议大家尽量不要把数据写在地址后面,而是统一放在 data 参数中。 当然,如果你想在用 post 方法时,同时利用 get 传值,那么就可以把要以 get 方式传递的数据写在地址后面,把要以 post 方式传递的数据写在 data 参数中。 总之方法是死的,人是活的,怎么用还要看实际情况。子曾经曰过:实践是检验真理的唯一标准。没事做做实验,掌握知识更牢固 |
相关文章推荐
- jQuery 中get 和post 方法传值需要注意的问题
- jQuery get和post 方法传值注意事项
- jQuery get和post 方法传值注意事项
- jQuery中get和post方法传值测试及注意事项
- jQuery 中get 和post 方法传值注意事项
- jQuery get和post 方法传值注意事项
- jQuery中get和post方法传值测试及注意事项
- JQUERY中的getJSON方法需要注意的一个地方:单引号与双引号
- jQuery - AJAX get() 和 post() 方法
- jQuery中的get和post方法
- JQuery ajax post/get 提交方式的注意问题
- jQuery - AJAX get() 和 post() 方法
- 锋利的jQuery读书笔记---jQuery中Ajax--get、post等方法
- jquery $.get() $.post 跨域请求cors解决方法
- jQuery 的 .get和.post和.ajax方法IE的兼容问题
- 深入理解JQuery中$.get()、$.post()、$.getJSON()、$.ajax()方法
- 深入理解JQuery中$.get()、$.post()、$.getJSON()、$.ajax()方法
- 深入理解JQuery中$.get()、$.post()、$.getJSON()、$.ajax()方法
- Jquery中$.get()方法和$.post()方法接接受代码
- jQuery的get()post()getJson()方法