4 votes

Dois-je continuer à utiliser jquery .getJson en 1.4.2 ?

Je regardais les 14 jours de Jquery.

http://jquery14.com/day-01/jquery-14

J'ai vu cela et je me suis demandé s'il était encore utile d'utiliser getJson.

Types de JSON et script auto-détectés par content-type (jQuery.ajax Documentation, Commit 1, Commit 2)

Si la réponse à une demande Ajax est est renvoyée avec un type mime JSON (application/json), le dataType par défaut est "json" (si aucun type de données n'est spécifié). En outre, si la réponse à une demande Ajax est renvoyée avec un type mime JavaScript (text/javascript ou application/x-javascript), le paramètre dataType prend par défaut la valeur "script" (si aucune valeur de dataType n'est spécifié), ce qui a pour conséquence que la fonction script s'exécute automatiquement.

D'abord, je peux voir un avantage énorme de ceci. Dans jquery 1.3, je me suis retrouvé dans une situation où, dans certains cas, je renvoyais une vue partielle et dans d'autres cas, je renvoyais un résultat json (asp.net mvc).

Cela fonctionne dans firefox mais dans aucun autre navigateur et l'un des problèmes était que je devais dire à jquery de faire soit json soit text/html.

Avec la détection automatique, je pourrais m'en sortir. Quoi qu'il en soit, j'ai trouvé une solution à ce problème à l'époque.

Donc maintenant, je me demande s'il y a un intérêt à utiliser GetJson.

Je ne sais pas non plus comment définir ces types de mime JavaScript ? Je suppose que si vous renvoyez un JsonResult à partir d'asp.net mvc, il le définira. Mais je ne suis pas sûr que si j'envoie simplement un résultat texte, il sera défini (je ne suis pas sûr que ContentResult le définisse).

2voto

Bradley Mountford Points 4887

Elle reste utile en tant que méthode raccourcie si vous n'avez besoin que de la fonctionnalité offerte par .getJson(). Personnellement, je finis par utiliser .ajax() pour sa capacité de personnalisation la plupart du temps.

EDIT : J-P soulève un bon point dans les commentaires : en tant que méthode raccourcie, avec autodétection des types MIME, .getJson est essentiellement rendu redondant par rapport à .get puisque $.getJson(a,b) ferait exactement la même chose que $.get(a,b).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X