Quelle est la différence entre $.ajax() et $.get() et $.load(). Quel est le meilleur à utiliser et dans quelles conditions.
Réponses
Trop de publicités?$.ajax()
est le plus configurable, où vous obtenez un contrôle précis sur les en-têtes HTTP et autres. Vous êtes également en mesure d'obtenir un accès direct à la XHR-objet à l'aide de cette méthode. Légèrement plus fine de gestion des erreurs est également fourni. Peut donc être plus compliqué et souvent inutiles, mais il est parfois très utile. Vous avez à traiter avec les données retournées vous-même avec un rappel.
$.get()
est juste un raccourci pour $.ajax()
, mais les résumés de certaines des configurations de loin, le réglage des valeurs par défaut raisonnables pour ce qu'il cache de vous. Renvoie les données à un rappel. Il permet seulement d'OBTENIR-la demande est accompagnée de l' $.post()
fonction similaire abstraction, seulement pour le POST
.load()
est similaire à l' $.get()
mais ajoute des fonctionnalités qui vous permet de définir où dans le document, les données renvoyées doivent être insérées. Donc vraiment utilisable uniquement lors de l'appel seulement résultat en HTML. Il est appelé différemment par rapport à l'autre, mondial, des appels, comme c'est une méthode liée à un particulier jQuery-enveloppé élément du DOM. Par conséquent, on pourrait faire: $('#divWantingContent').load(...)
Il convient de noter que tous $.get()
, $.post()
, .load()
sont tout simplement des wrappers pour $.ajax()
comme il est appelé en interne.
Plus de détails dans l'Ajax de la documentation de jQuery: http://api.jquery.com/category/ajax/
Les méthodes d'offrir différentes couches d'abstraction.
$.ajax()
vous donne le plein contrôle sur la requête Ajax. Vous devez les utiliser si les autres méthodes ne sont pas de répondre à vos besoins.$.get()
exécute une requête AjaxGET
la demande. Les données renvoyées (qui peuvent être des données) sera transmise à votre gestionnaire de rappel.$(selector).load()
execute une requête AjaxGET
demande et de définir le contenu des données renvoyées (ce qui devrait être un texte ou HTML).
Cela dépend de la situation de la méthode que vous devez utiliser. Si vous voulez faire des choses simples, il n'y a pas besoin de s'embêter avec $.ajax()
.
E. g. vous n'utiliserez pas de $.load()
, si les données renvoyées seront JSON qui doit être traitée. Ici vous pourrez soit utiliser $.ajax()
ou $.get()
.
http://api.jquery.com/jQuery.ajax/
jQuery.ajax()
Description: Effectuer un HTTP asynchrones (Ajax) demande.
The full monty, permet de faire tout type de requête Ajax.
http://api.jquery.com/jQuery.get/
jQuery.get()
Description: Charger des données à partir du serveur à l'aide d'une requête HTTP GET.
Seulement vous permet de faire des requêtes HTTP GET, nécessite un peu de configuration.
.load()
Description: Charger des données à partir du serveur et de placer le code HTML renvoyé dans la correspondance de l'élément.
Spécialisés pour obtenir des données et à l'injecter dans un élément.