html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

jQuery中get和post方法传值测试及注意事项_jquery_

[ ] 已经帮助:人解决问题

用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢?qjcHTML5中文学习网 - HTML5先行者学习网
刚刚做了几个实验,看看下面的代码就清楚了:qjcHTML5中文学习网 - HTML5先行者学习网
以下内容需要回复才能看到qjcHTML5中文学习网 - HTML5先行者学习网

jquery_data.phpqjcHTML5中文学习网 - HTML5先行者学习网

echo "post: ";print_r($_POST);echo "get: ";print_r($_GET);?>

jquery_test.htmlqjcHTML5中文学习网 - HTML5先行者学习网

实验1:qjcHTML5中文学习网 - HTML5先行者学习网

$(function() {// post 方法,两处都有数据$.post('jquery_data.php?v1=1', {v2: 2}, function(data) {$('').append(data).appendTo('body');});});

返回结果:qjcHTML5中文学习网 - HTML5先行者学习网

post: Array([v2] => 2)get: Array([v1] => 1)

实验2:qjcHTML5中文学习网 - HTML5先行者学习网

$(function(){// post 方法,数据在地址后面, 第二个参数为回调函数$.post('jquery_data.php?v1=1', function(data){$('<pre/>').append(data).appendTo('body');});});

返回结果,数据在 get 中:qjcHTML5中文学习网 - HTML5先行者学习网

post: Array()get: Array([v1] => 1)

实验3:qjcHTML5中文学习网 - HTML5先行者学习网

$(function(){// get 方法,用 data 参数传值$.get('jquery_data.php', {v2: 2}, function(data){$('<pre/>').append(data).appendTo('body');});});

返回结果,数据在 get 中:qjcHTML5中文学习网 - HTML5先行者学习网

post: Array()get: Array([v2] => 2)

实验4:qjcHTML5中文学习网 - HTML5先行者学习网

$(function(){// get 方法,两处都有数据$.get('jquery_data.php?v1=1', {v2: 2}, function(data){$('<pre/>').append(data).appendTo('body');});});

返回结果,两处数据被合并了,都在 get 中:qjcHTML5中文学习网 - HTML5先行者学习网

post: Array()get: Array([v1] => 1[v2] => 2)

实验5:qjcHTML5中文学习网 - HTML5先行者学习网

$(function(){// get 方法,两处都有数据,且变量名相同$.get('jquery_data.php?v2=1', {v2: 2}, function(data){$('<pre/>').append(data).appendTo('body');});});

返回结果,数据在 get 中,且 data 参数中的数据覆盖了地址后面的数据:qjcHTML5中文学习网 - HTML5先行者学习网

post: Array()get: Array([v2] => 2)

通过这几个简单的小例子不难看出,地址后面的数据永远是以 get 形式传递的,无论使用的是 get 方法还是 post 方法;而 data 参数中的数据是根据方法决定传递方式的。qjcHTML5中文学习网 - HTML5先行者学习网

因此,为了避免混淆,建议大家尽量不要把数据写在地址后面,而是统一放在 data 参数中。qjcHTML5中文学习网 - HTML5先行者学习网

当然,如果你想在用 post 方法时,同时利用 get 传值,那么就可以把要以 get 方式传递的数据写在地址后面,把要以 post 方式传递的数据写在 data 参数中。qjcHTML5中文学习网 - HTML5先行者学习网

总之方法是死的,人是活的,怎么用还要看实际情况。子曾经曰过:实践是检验真理的唯一标准。没事做做实验,掌握知识更牢固。qjcHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助