ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery_jquery の get メソッドと post メソッドの値渡しのテストと注意事項
jQuery を使用する人なら誰でも、jQuery の get メソッドと post メソッドにはアドレス、データ、コールバック関数という 3 つのパラメータがあることを知っていますが、アドレスがデータの後に続くこともあることを知っています (形式: get_data.php?v1=1&v2=2)。 )、2 番目のパラメータは省略できます。つまり、2 番目のパラメータをコールバック関数に直接書き込むことができます。では、アドレスの後にデータを書き込む場合と、データ パラメータにデータを書き込む場合の違いは何でしょうか。
いくつかの実験を行ったところですが、次のコードを見れば明らかです:
以下のコンテンツを閲覧するには返信が必要です
jquery_data.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) { $(' ').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'); }); });
結果を返します。2 つのデータは両方とも 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 メソッドが使用されるか post メソッドが使用されるかに関係なく、アドレスの背後にあるデータが常に get 形式で転送され、data パラメーター内のデータが転送されることがわかります。方法に従って転送されます。
したがって、混乱を避けるために、アドレスの後にデータを記述するのではなく、データパラメータに一律に配置することをお勧めします。
もちろん、postメソッド使用時にgetを使って値を渡したい場合は、getメソッドで渡すデータをアドレスの後に書き、postメソッドで渡すデータを書くこともできますデータパラメータで。
要するに、メソッドは死んで、人は生きているということです。それをどう使うかは実際の状況によって決まります。子はかつてこう言いました:実践こそが真実を試す唯一の基準です。何もすることがないときに実験をして知識をよりしっかりと身につけましょう。