Maison > interface Web > js tutoriel > Tests de transmission de valeur et précautions pour les méthodes get et post dans jQuery_jquery

Tests de transmission de valeur et précautions pour les méthodes get et post dans jQuery_jquery

WBOY
Libérer: 2016-05-16 16:40:07
original
1144 Les gens l'ont consulté

Tous ceux qui utilisent jQuery savent que les méthodes get et post de jQuery ont trois paramètres : adresse, données et fonction de rappel, mais nous savons que l'adresse peut également suivre les données (sous la forme : get_data.php?v1=1&v2=2 ), Et le deuxième paramètre peut être omis, c'est-à-dire que le deuxième paramètre peut être écrit directement dans la fonction de rappel. Alors, quelle est la différence entre écrire des données après l'adresse et les écrire dans le paramètre data ?
Je viens de faire quelques expériences, et ce sera clair si vous regardez le code suivant :
Le contenu suivant nécessite une réponse pour être vu

jquery_data.php

echo "post: ";
print_r($_POST);
echo "get: ";
print_r($_GET);
?>
Copier après la connexion

jquery_test.html

Expérience 1 :

$(function() {
// post 方法,两处都有数据
$.post('jquery_data.php?v1=1', {v2: 2}, function(data) {
$('
').append(data).appendTo('body');
});
});
Copier après la connexion

Résultats de retour :

post: Array
(
[v2] => 2
)
get: Array
(
[v1] => 1
)
Copier après la connexion

Expérience 2 :

$(function()
{
// post 方法,数据在地址后面, 第二个参数为回调函数
$.post('jquery_data.php?v1=1', function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
Copier après la connexion

Renvoyer le résultat, les données sont en get :

post: Array
(
)
get: Array
(
[v1] => 1
)
Copier après la connexion

Expérience 3 :

$(function()
{
// get 方法,用 data 参数传值
$.get('jquery_data.php', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
Copier après la connexion

Renvoyer le résultat, les données sont en get :

post: Array
(
)
get: Array
(
[v2] => 2
)
Copier après la connexion
Copier après la connexion

Expérience 4 :

$(function()
{
// get 方法,两处都有数据
$.get('jquery_data.php&#63;v1=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
Copier après la connexion

Renvoie le résultat, les deux données sont fusionnées, toutes deux dans get :

post: Array
(
)
get: Array
(
[v1] => 1
[v2] => 2
)
Copier après la connexion

Expérience 5 :

$(function()
{
// get 方法,两处都有数据,且变量名相同
$.get('jquery_data.php&#63;v2=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});
Copier après la connexion

Renvoyer le résultat, les données sont en cours de récupération et les données dans le paramètre data couvrent les données après l'adresse :

post: Array
(
)
get: Array
(
[v2] => 2
)
Copier après la connexion
Copier après la connexion

A travers ces exemples simples, il n'est pas difficile de voir que les données derrière l'adresse sont toujours transférées sous forme de get, que la méthode get ou la méthode post soit utilisée et que les données du paramètre data le soient ; transféré selon la méthode.

Par conséquent, afin d'éviter toute confusion, il est recommandé d'essayer de ne pas écrire les données après l'adresse, mais de les placer uniformément dans le paramètre data.

Bien sûr, si vous souhaitez utiliser get to pass valeurs lorsque vous utilisez la méthode post, vous pouvez alors écrire les données à transmettre dans la méthode get après l'adresse, et les données à transmettre dans la méthode post dans le paramètre data.

En bref, les méthodes sont mortes et les gens sont vivants. La manière de les utiliser dépend de la situation réelle. Zi a dit un jour : La pratique est le seul critère pour tester la vérité. Faites des expériences lorsque vous n'avez rien à faire et maîtrisez plus fermement les connaissances.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal