5 votes

Javascript - Json ou html ?

J'ai une vue asp.net mvc qui, à l'aide de jquery ajax, met à jour un div. Dois-je utiliser un contrôleur qui renvoie un PartialView ou un json ? Et les performances ?

11voto

Alexander Bird Points 5334

Ce site ... question ... a ... a été ... a demandé ... avant :)

3voto

scunliffe Points 30964

Je pencherais moi-même pour JSON. La raison en est que JSON vous offre la flexibilité de ramener des données différentes, par exemple

Vous pourriez obtenir 100 résultats, ET des métadonnées sur ces résultats (mots-clés, regroupement, etc.) ET des informations sur le nombre de résultats supplémentaires disponibles, la fraîcheur des résultats, les informations sur la pagination...

De même, d'autres informations non liées peuvent revenir - messages d'état, indicateurs "nouveau courrier", etc.

Avec le retour en HTML pur, vous limitez les possibilités de faire autre chose que de mettre à jour le contenu HTML d'un conteneur.

2voto

James Skemp Points 1385

Si vous souhaitez que l'utilisateur puisse passer d'une vue à l'autre et que ces données peuvent être incluses au chargement de la page, il suffit d'inclure onload, puis hide/show ou load as json, puis de les remplir selon les besoins.

S'il s'agit d'une demande très simple qui doit être mise à jour au besoin et que vous ne prévoyez pas d'autres besoins similaires dans votre application, renvoyez simplement le code html.

Cependant, si vous faites une requête qui soumet des données ou exécute une action, je suis un fan du retour d'une réponse json cohérente avec des éléments booléens d'erreur, de message d'erreur et de contenu/données.

2voto

rsenna Points 5528

Pour moi, le le plus cool de faire AJAX est de retourner des paquets de données minces, pas du HTML pré-rendu. Je dirais donc d'opter pour l'option JSON...

... Mais tout dépend de vos besoins. Il est beaucoup plus facile d'afficher des extraits HTML préenregistrés, donc si vous avez besoin de quelque chose de rapide, une vue partielle peut être une meilleure option.

Mais tout cela a déjà été discuté auparavant. Jetez donc un coup d'œil à ce lien : La réponse AJAX : XML, HTML ou JSON ? . L'auteur présente un bon résumé, indépendant de la plateforme, des 3 principales options de réponse AJAX, avec les avantages et les inconvénients de chacune.

1voto

ChaosPandion Points 37025

Si vous comprimez la réponse, retournez le HTML, sinon retournez le JSON et construisez le HTML côté client. Dans un monde idéal, votre serveur devrait toujours compresser la réponse, mais vous pouvez avoir un serveur mal configuré qui n'est pas sous votre contrôle. L'objectif de ma réponse est de rester simple car, côté serveur, la différence entre la construction de HTML et de JSON est assez minime. De plus, la construction de HTML sur le client peut être un peu lente pour les utilisateurs ayant des machines obsolètes. (Ou les navigateurs... vous savez de quel navigateur je parle...)

Note : Ma réponse doit être comprise dans le contexte le plus général. Si je ne connais pas votre pile technologique et votre marché cible, je n'aurais pas le droit de répondre autrement. N'oubliez pas que la plupart des règles de programmation sont plutôt des lignes directrices.

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