Jeder, der jQuery verwendet, weiß, dass die get- und post-Methoden von jQuery drei Parameter haben: Adresse, Daten und Rückruffunktion, aber wir wissen, dass die Adresse auch den Daten folgen kann (in der Form: get_data.php?v1=1&v2=2). ), Und der zweite Parameter kann weggelassen werden, das heißt, der zweite Parameter kann direkt in die Rückruffunktion geschrieben werden. Was ist also der Unterschied zwischen dem Schreiben von Daten nach der Adresse und dem Schreiben in den Datenparameter?
Ich habe gerade ein paar Experimente durchgeführt und es wird klar, wenn Sie sich den folgenden Code ansehen:
Der folgende Inhalt erfordert eine Antwort, um angezeigt zu werden
jquery_data.php
echo "post: "; print_r($_POST); echo "get: "; print_r($_GET); ?>
jquery_test.html
Experiment 1:
$(function() { // post 方法,两处都有数据 $.post('jquery_data.php?v1=1', {v2: 2}, function(data) { $(' ').append(data).appendTo('body'); }); });
Ergebnisse zurückgeben:
post: Array ( [v2] => 2 ) get: Array ( [v1] => 1 )
Experiment 2:
$(function() { // post 方法,数据在地址后面, 第二个参数为回调函数 $.post('jquery_data.php?v1=1', function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Das Ergebnis zurückgeben, die Daten sind in get:
post: Array ( ) get: Array ( [v1] => 1 )
Experiment 3:
$(function() { // get 方法,用 data 参数传值 $.get('jquery_data.php', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Das Ergebnis zurückgeben, die Daten sind in get:
post: Array ( ) get: Array ( [v2] => 2 )
Experiment 4:
$(function() { // get 方法,两处都有数据 $.get('jquery_data.php?v1=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Das Ergebnis zurückgeben, die beiden Daten werden zusammengeführt, beide in get:
post: Array ( ) get: Array ( [v1] => 1 [v2] => 2 )
Experiment 5:
$(function() { // get 方法,两处都有数据,且变量名相同 $.get('jquery_data.php?v2=1', {v2: 2}, function(data) { $('<pre/>').append(data).appendTo('body'); }); });
Gibt das Ergebnis zurück, die Daten sind in Get und die Daten im Datenparameter decken die Daten nach der Adresse ab:
post: Array ( ) get: Array ( [v2] => 2 )
Anhand dieser einfachen Beispiele ist es nicht schwer zu erkennen, dass die Daten hinter der Adresse immer in Form von get übertragen werden, unabhängig davon, ob die get-Methode oder die post-Methode verwendet wird und die Daten im Datenparameter sind entsprechend der Methode übertragen.
Um Verwirrung zu vermeiden, wird daher empfohlen, dass Sie versuchen, die Daten nicht nach der Adresse zu schreiben, sondern sie einheitlich im Datenparameter zu platzieren.
Wenn Sie get zum Übergeben von Werten bei Verwendung der Post-Methode verwenden möchten, können Sie natürlich die in der Get-Methode zu übergebenden Daten nach der Adresse und die in der Post-Methode zu übergebenden Daten schreiben im Datenparameter.
Kurz gesagt, Methoden sind tot und die Menschen leben. Wie man sie anwendet, hängt von der tatsächlichen Situation ab. Zi sagte einmal: „Übung ist das einzige Kriterium, um die Wahrheit zu prüfen.“ Machen Sie Experimente, wenn Sie nichts zu tun haben, und beherrschen Sie das Wissen besser.