Y a-t-il vraiment une différence entre ces deux appels? Si vous utilisez getJSON, vous devez toujours déclarer format=json
dans l’URL …
Et vous pouvez faire la même chose dans $.get()
et parcourir l’object JSON.
Ou suis-je loin d’ici?
Les deux extraits suivants sont équivalents:
$.get("/some/url", {data: "value"}, function(json) { // use json here }, "json") $.getJSON("/some/url", {data: "value"}, function(json) { // use json here });
Dire qu’une requête concerne JSON
signifie deux choses:
Accept: application/json
Un certain nombre de frameworks côté serveur (tels que Rails) détecte automatiquement l’en-tête Accept
et gère la requête de manière appropriée. Si vous utilisez un cadre différent ou faites défiler le vôtre, vous pouvez inspecter l’en-tête Accept
pour détecter le format (au lieu d’inspecter les parameters).
Je pense que la documentation l’explique assez clairement!
http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype
Chargez une page distante à l’aide d’une requête HTTP GET.
http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback
Charger des données JSON à l’ aide d’une requête HTTP GET.
Rappelez-vous, ce ne sont que des abstractions de la méthode .ajax
Les différences entre $ .getJSOn et $ .get sont exprimées en parameters:
Ainsi, utiliser $ .get avec dataType: JSON fonctionnerait exactement de la même manière que $ .getJSON.