用 jQuery 的都知道,jQuery 的 get 和 post 方法有三個(gè)參數(shù):地址,數(shù)據(jù)
和回調(diào)函數(shù),但我們知道地址也可以跟隨數(shù)據(jù)的(形如:get_data.php?v1=1&v2=2),而且第二個(gè)參數(shù)可以省略,即第二個(gè)參數(shù)可
以直接寫回調(diào)函數(shù),那么數(shù)據(jù)寫在地址后面和寫在 data 參數(shù)里有什么區(qū)別呢?
剛剛做了幾個(gè)實(shí)驗(yàn),看看下面的代碼就清楚了:
以下內(nèi)容需要回復(fù)才能看到
jquery_data.php
echo "post: ";
print_r($_POST);
echo "get: ";
print_r($_GET);
?>
jquery_test.html
實(shí)驗(yàn)1:
$(function()
{
// post 方法,兩處都有數(shù)據(jù)
$.post('jquery_data.php?v1=1', {v2: 2}, function(data)
{
$('
').append(data).appendTo('body');
});
});
返回結(jié)果:
post: Array
(
[v2] => 2
)
get: Array
(
[v1] => 1
)
實(shí)驗(yàn)2:
$(function()
{
// post 方法,數(shù)據(jù)在地址后面, 第二個(gè)參數(shù)為回調(diào)函數(shù)
$.post('jquery_data.php?v1=1', function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
返回結(jié)果,數(shù)據(jù)在 get 中:
post: Array
(
)
get: Array
(
[v1] => 1
)
實(shí)驗(yàn)3:
$(function()
{
// get 方法,用 data 參數(shù)傳值
$.get('jquery_data.php', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
返回結(jié)果,數(shù)據(jù)在 get 中:
post: Array
(
)
get: Array
(
[v2] => 2
)
實(shí)驗(yàn)4:
$(function()
{
// get 方法,兩處都有數(shù)據(jù)
$.get('jquery_data.php?v1=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
返回結(jié)果,兩處數(shù)據(jù)被合并了,都在 get 中:
post: Array
(
)
get: Array
(
[v1] => 1
[v2] => 2
)
實(shí)驗(yàn)5:
$(function()
{
// get 方法,兩處都有數(shù)據(jù),且變量名相同
$.get('jquery_data.php?v2=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
返回結(jié)果,數(shù)據(jù)在 get 中,且 data 參數(shù)中的數(shù)據(jù)覆蓋了地址后面的數(shù)據(jù):
post: Array
(
)
get: Array
(
[v2] => 2
)
通過(guò)這幾個(gè)簡(jiǎn)單的小例子不難看出,地址后面的數(shù)據(jù)永遠(yuǎn)是以 get 形式傳遞的,無(wú)論使用的是 get 方法還是 post 方法;而 data 參數(shù)中的數(shù)據(jù)是根據(jù)方法決定傳遞方式的。
因此,為了避免混淆,建議大家盡量不要把數(shù)據(jù)寫在地址后面,而是統(tǒng)一放在 data 參數(shù)中。
當(dāng)然,如果你想在用 post 方法時(shí),同時(shí)利用 get 傳值,那么就可以把要以 get 方式傳遞的數(shù)據(jù)寫在地址后面,把要以 post 方式傳遞的數(shù)據(jù)寫在 data 參數(shù)中。
總之方法是死的,人是活的,怎么用還要看實(shí)際情況。子曾經(jīng)曰過(guò):實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。沒(méi)事做做實(shí)驗(yàn),掌握知識(shí)更牢固。
posted on 2009-07-29 19:22
xiaoxinchen 閱讀(914)
評(píng)論(1) 編輯 收藏