Maison >interface Web >js tutoriel >JQUERY Ajax Différences entre Get vs Post
Points de base
obtenir et publier
Quand utiliser Get
Si le traitement de formulaire est idempotent (c'est-à-dire qu'il n'y a pas d'effet observable durable sur l'état mondial), la méthode de formulaire devrait être obtenue. De nombreuses recherches de bases de données n'ont pas d'effets secondaires évidents et sont idéaux pour interroger les formulaires.
fonctionnalités de GET:
[W3.org Get Method Definition Definition] (W3C Get Method Definition Link doit être inséré ici)
Quand dois-je utiliser le post
Si un service lié au traitement de formulaire a des effets secondaires (par exemple, modifier une base de données ou s'abonner à un service), la méthode doit être publiée.
Vous pouvez utiliser la publication lors du traitement des demandes longues - Si vous envoyez une grande quantité de données ou envoyez des données sensibles sur HTTPS, vous devez utiliser la publication. Certains navigateurs (tels que Internet Explorer) ont des restrictions sur la longueur de la chaîne d'URL, donc si vous utilisez Get, certaines opérations de formulaires peuvent être interrompues.
Les opérations suivantes peuvent nécessiter une prise en compte de l'utilisation du post:
[W3.org Post Method Definition] (W3C Post Method Definition Link doit être inséré ici)
Obtenez et publiez dans Ajax Call
Les appels AJAX sont plus couramment utilisés pour GET, sauf si des données sensibles sont envoyées au serveur ou des scripts qui traitent les données sur le serveur sont appelés. En effet, lors de l'utilisation de XMLHTTPRequest, le navigateur implémente la publication en deux étapes (envoie d'abord l'en-tête, puis envoie les données). Cela signifie que les demandes des objets répondent plus rapidement - c'est ce qui est nécessaire dans l'environnement Ajax! Étant donné que les demandes "AJAX" sont limitées par les politiques homologues, le risque de sécurité d'utiliser GET au lieu de la publication est limité. Utilisez Get to "Obtenir" des informations du serveur, telles que le chargement d'un fichier JavaScript (peut utiliser la fonction AJAX Abréviation $.getScript()
) ou charger un fichier JSON (peut utiliser la fonction AJAX Abréviation $.getJSON()
).
JQUERY AJAX Fonctions Utilisation de Get As Par défaut: $.get()
, $.getScript()
, $.getJSON()
, .load()
JQUERY AJAX Fonction Utilisation du post par défaut: $.post()
Obtenez un exemple d'appel AJAX - APPEL PHP Script pour obtenir des abonnés Twitter
$.ajax({ url: 'getTwitterFollowers.php', type: 'GET', data: 'twitterUsername=jquery4u', success: function(data) { // 成功时调用 $('#ajaxphp-results').html(data); }, error: function(e) { // 发生错误时调用 //console.log(e.message); } });
Publier l'exemple de l'appel ajax - Soumettre le formulaire de connexion
var $form = $("#myForm"); var url = $form.attr("action") + "?" + $form.serialize(); $("#" + id).html(url); $.ajax({ type: "POST", url: action, data: $form, success: function(response) { if (response == 'success') $("#myForm").slideUp('slow', function() { $("#msg").html("You have logged in successfully!"); }); else $("#msg").html("Invalid username and/or password."); } });
Autres documents de lecture
Exemple de soumission de formulaire Cet exemple ne fonctionne pas vraiment avec Ajax car ces demandes se produisent en arrière-plan, mais cela peut vous aider à mieux comprendre ce qui se passe entre différents types de demandes. Lorsque vous utilisez GET, une demande HTTP est générée et les données sont transmises au serveur Web en tant que jeu de paramètres d'encodage dans la chaîne de requête attachée à l'URL. Par exemple, l'utilisation de la soumission de formulaire de connexion GET pour la connexion est une mauvaise idée car les détails de connexion seront affichés dans la barre d'adresse.
<code>GET /login.php?username=user&password=12345 HTTP/1.1 Host: domain.com</code>
Cependant, si nous utilisons le post, les paramètres seront passés à travers le corps de la demande HTTP, et non l'URL. Cela se produira en arrière-plan entre le navigateur et le serveur Web.
<code>POST /login.php HTTP/1.1 Host: domain.com username=user&password=12345</code>
Get Cache Get est destiné à être utilisé pour lire les informations à afficher sur une page. Le navigateur mettra en cache les résultats de la demande GET, et si la même demande de GET est à nouveau réalisée, il affichera les résultats du cache au lieu de relancer toute la demande.
REST - Architecture de serveur client "RESTFul" Par exemple, HTTP a un vocabulaire très riche en termes de verbes (ou "méthodes"), d'URIS, de types de médias Internet, de demandes et de codes de réponse. REST utilise ces fonctionnalités existantes du protocole HTTP, permettant ainsi à des composants hiérarchiques et des composants de passerelle existants pour remplir d'autres fonctions sur le réseau, telles que la mise en cache HTTP et l'application de la sécurité.
Lire des informations sur "Transfert d'état dénotatif" (reste): http://en.wikipedia.org/wiki/Representational_state_transfer#restful_example:_the_world_wide_web
REST - Service Web "Restful" (API) Il s'agit d'un ensemble de ressources avec quatre aspects définis: L'URI de base du service Web, tel que http://example.com/resources/
; Il s'agit généralement de JSON, XML ou YAML, mais peut être un autre type de support Internet valide; l'ensemble des services Web pris en charge par les méthodes HTTP (par exemple, publier, obtenir, mettre ou supprimer); [11]
[ https://www.php.cn/link/13da2193bcd455bb894871aec1815047 lien de service Web)
Conclusion
J'espère que vous avez une compréhension claire de quand utiliser Get et quand utiliser le post. Si vous n'êtes pas sûr ou souhaitez vérifier l'arrière-plan des appels AJAX, utilisez un outil comme Firebug Net Pannel pour voir où les données sont envoyées (comme dans l'en-tête) et le type de demande. En plus de cela, je vous souhaite une bonne programmation Ajax!
FAQ (FAQ) sur Ajax Get et Post Methods
(Ceci doit être réorganisé et traduit dans un langage plus concis en fonction de la partie FAQ d'origine) en raison des limitations de l'espace, la traduction de la partie FAQ est omise ici. Veuillez fournir la section FAQ d'origine et je peux vous aider à le traduire dans une version concise.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!