jquery发送post请求,get和post传参
使用jQuery的人都知道jQuery的get和post方法有三个参数:地址、数据和回调函数,但是我们知道地址也可以跟在数据后面(比如:get_data.php?V1=1 v2=2),第二个参数可以省略,也就是第二个参数可以直接写入回调函数。那么在地址后面写数据和在数据参数里面写有什么区别呢?
-
刚做了几个实验,就看下面这段代码:
以下内容需要回复才能看到。
jquery_data.php
复制代码如下:
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
echo post:;
print _ r($ _ POST);
echo“get:”;
print _ r($ _ GET);
?
jquery _测试. html
实验一:
复制代码如下:
$(函数()
{
//post方法,两个地方都有数据
$.post(jquery_data.php?v1=1 ,{v2: 2},函数(数据)
{
$( pre/)。追加(数据)。appendTo( body );
});
});
/*
返回结果:
发布:数组
(
[v2]=2
)
获取:数组
(
[v1]=1
)
*/
实验二:
$(函数()
{
//post方法,数据在地址后面,第二个参数是回调函数
$.post(jquery_data.php?v1=1 ,函数(数据)
{
$( pre/)。追加(数据)。appendTo( body );
});
});
/*
因此,数据是在得到:
发布:数组
(
)
获取:数组
(
[v1]=1
)
*/
实验三:
$(函数()
{
//get方法,用数据参数传递值
$.get(jquery_data.php ,{v2: 2},function(data)
{
$( pre/)。追加(数据)。appendTo( body );
});
});
/*
因此,数据是在得到:
发布:数组
(
)
获取:数组
(
[v2]=2
)
*/
实验四:
$(函数()
{
//get方法,两个地方都有数据
$.get(jquery_data.php?v1=1 ,{v2: 2},函数(数据)
{
$( pre/)。追加(数据)。appendTo( body );
});
});
/*
结果,两个数据被合并,都在get:
发布:数组
(
)
获取:数组
(
[v1]=1
[v2]=2
)
*/
实验五:
$(函数()
{
//get方法,两处都有数据,变量名相同。
$.get(jquery_data.php?v2=1 ,{v2: 2},函数(数据)
{
$( pre/)。追加(数据)。appendTo( body );
});
});
/*
结果,数据在get中,data参数中的数据覆盖了地址之后的数据:
发布:数组
(
)
获取:数组
(
[v2]=2
)
*/
通过这些简单的例子,不难看出,无论使用get方法还是post方法,地址后面的数据总是以get的形式传递;数据参数中的数据由方法确定。
所以为了避免混淆,建议大家尽量不要把数据写在地址后面,而是统一放在数据参数里。
当然,如果想在使用post方法的同时使用get来传递值,可以将get要传递的数据写在地址的后面,将post要传递的数据写在data参数中。
总之,方法是死的,人是活的,怎么用要看实际情况。孔子曾经说过:实践是检验真理的唯一标准。没事做实验,可以更牢固的掌握知识。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。