-
XMLHttpRequest
est l'objet brut du navigateur que jQuery enveloppe dans une forme plus utilisable et simplifiée et une fonctionnalité cohérente entre les navigateurs.
-
jQuery.ajax
est un requêteur Ajax général en jQuery qui peut faire n'importe quel type de requête et de contenu.
-
jQuery.get
y jQuery.post
d'autre part, ne peut émettre que des requêtes GET et POST. Si vous ne savez pas de quoi il s'agit, vous pouvez consulter le site suivant Protocole HTTP et apprendre un peu. En interne, ces deux fonctions utilisent jQuery.ajax
mais ils utilisent des paramètres particuliers que vous n'avez pas à définir vous-même, ce qui simplifie les requêtes GET ou POST par rapport à l'utilisation de l'option jQuery.ajax
. GET et POST étant de toute façon les méthodes HTTP les plus utilisées (par rapport à DELETE, PUT, HEAD ou même d'autres exotiques rarement utilisées).
Toutes les fonctions jQuery utilisent XMLHttpRequest
en arrière-plan, mais fournissent une fonctionnalité supplémentaire que vous n'avez pas à faire vous-même.
Utilisation
Donc si vous utilisez jQuery, je vous recommande fortement d'utiliser la fonctionnalité jQuery. seulement . Oubliez XMLHttpRequest
tout à fait. Utilisez des variantes appropriées de la fonction de requête jQuery et, dans tous les autres cas, utilisez $.ajax()
. N'oubliez donc pas qu'il existe d'autres Fonctions communes de jQuery Ajax a $.get()
, $.post()
y $.ajax()
. Vous pouvez simplement utiliser $.ajax()
pour toutes vos demandes, mais vous devrez écrire un peu plus de code, car il a besoin d'un peu plus d'options pour l'appeler.
Analogie
C'est comme si vous pouviez vous acheter un moteur de voiture que vous deviez créer une voiture entière autour de lui avec une direction, des freins etc.... Les constructeurs automobiles produisent des voitures complètes, avec une interface conviviale (pédales, volant, etc.) pour que vous n'ayez pas à tout faire vous-même.
4 votes
En ce qui concerne les performances (à peine répondu) : selon jsperf en utilisant le XMLHttpRequest ordinaire est beaucoup plus rapide que de passer par jQuery.
0 votes
Y a-t-il des différences subtiles dans la façon dont les cookies sont gérés ? Pour la connexion, je veux utiliser
Set-Cookie
. Je constate que les cookies fonctionnent avec jQuery.ajax, mais pas lorsque j'utilise XmlHttpRequest avecxhr.withCredentials=true
.