Semua orang yang menggunakan jQuery tahu bahawa kaedah dapatkan dan hantar jQuery mempunyai tiga parameter: alamat, data dan fungsi panggil balik, tetapi kami tahu bahawa alamat juga boleh mengikut data (dalam bentuk: get_data.php?v1=1&v2=2 ), Dan parameter kedua boleh diabaikan, iaitu, parameter kedua boleh ditulis terus ke dalam fungsi panggil balik Jadi apakah perbezaan antara menulis data selepas alamat dan menulisnya dalam parameter data?
Saya baru sahaja melakukan beberapa percubaan, dan ia akan menjadi jelas jika anda melihat kod berikut:
Kandungan berikut memerlukan balasan untuk dilihat
jquery_data.php
echo "post: "; print_r($_POST); echo "get: "; print_r($_GET); ?>
jquery_test.html
Percubaan 1:
$(function() { // post 方法,两处都有数据 $.post('jquery_data.php?v1=1', {v2: 2}, function(data) { $(' ').append(data).appendTo('body'); }); });
Kembalikan hasil:
post: Array ( [v2] => 2 ) get: Array ( [v1] => 1 )
Percubaan 2:
$(function() { // post 方法,数据在地址后面, 第二个参数为回调函数 $.post('jquery_data.php?v1=1', function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Kembalikan keputusan, data dalam dapatkan:
post: Array ( ) get: Array ( [v1] => 1 )
Percubaan 3:
$(function() { // get 方法,用 data 参数传值 $.get('jquery_data.php', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Kembalikan keputusan, data dalam dapatkan:
post: Array ( ) get: Array ( [v2] => 2 )
Percubaan 4:
$(function() { // get 方法,两处都有数据 $.get('jquery_data.php?v1=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Kembalikan hasil, kedua-dua data digabungkan, kedua-duanya dalam dapatkan:
post: Array ( ) get: Array ( [v1] => 1 [v2] => 2 )
Percubaan 5:
$(function() { // get 方法,两处都有数据,且变量名相同 $.get('jquery_data.php?v2=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Kembalikan hasil, data dalam get dan data dalam parameter data meliputi data selepas alamat:
post: Array ( ) get: Array ( [v2] => 2 )
Melalui contoh mudah ini, tidak sukar untuk melihat bahawa data di sebalik alamat sentiasa dipindahkan dalam bentuk get, tidak kira sama ada kaedah get atau kaedah pos digunakan dan data dalam parameter data itu; dipindahkan mengikut kaedah.
Oleh itu, untuk mengelakkan kekeliruan, anda disyorkan supaya cuba untuk tidak menulis data selepas alamat, tetapi meletakkannya secara seragam dalam parameter data.
Sudah tentu, jika anda ingin menggunakan nilai get to pass ketika menggunakan kaedah pos, maka anda boleh menulis data yang akan dihantar dalam kaedah get selepas alamat, dan data yang akan dihantar dalam kaedah pos dalam parameter data.
Pendek kata, kaedah sudah mati dan orang masih hidup Cara menggunakannya bergantung pada keadaan sebenar. Zi pernah berkata: Amalan adalah satu-satunya kriteria untuk menguji kebenaran. Lakukan eksperimen apabila anda tidak mempunyai apa-apa untuk dilakukan, dan kuasai pengetahuan dengan lebih teguh.