3

Quelle est une bonne façon de concevoir une application web avec Play, qui fournit une dégradation gracieuse? Je travaille sur une application client, qui utilise Ajax pour récupérer des vues partielles, puis avec JQuery, pour les mettre en place dans le DOM. Pour soutenir le SEO et la dégradation gracieuse, je devrais soit faire une méthode de contrôleur en double, ce qui rend la vue partielle dans le cadre de la page entière (en-tête et pied de page inclus) .So quand je fais un appel avec Jquery, il appellera "item/12345/partial", il n'apportera que la vue partielle mais quand un utilisateur va à "item/12345" il devrait montrer toute la page, avec le partiel déjà coincé.Concevoir un cadre de jeu qui utilise Ajax, mais aussi se soucie de SEO et de la dégradation gracieuse

La deuxième option est d'éviter la deuxième méthode de contrôleur et renvoie toujours le contenu de la page complète (en-tête, javascripts, styles, partial et footer). Lorsqu'elle est invoquée avec JQuery, la méthode de rappel ne supprime que le code HTML nécessaire et l'insère dans le DOM. Bien sûr, cela signifie que la même quantité de contenu sera toujours renvoyée par le serveur, ce qui réduit considérablement les avantages de l'utilisation d'AJAX.

Lequel recommanderiez-vous?

Répondre

0

La deuxième option ne me semble pas très bonne. Ce que nous utilisons sur notre projet est que nous avons modèle de base qui est prolongée par des parties ajax et ces parties ont quelque chose comme ça pour ne pas charger reste du modèle sur demande ajax:

#{ifnot request.ajax} 
    #{extends 'search-main.html' /} 
#{/ifnot} 

et search-main.html a #{doLayout /} en place où Une section ajax devrait se produire si la page entière va être rendue (requête non ajax). La valeur dans request.ajax sera définie par Play, vous n'avez donc pas besoin de le déterminer vous-même. A propos des contrôleurs dupliqués: vous devriez pouvoir mapper un contrôleur à plusieurs adresses si nécessaire. Il suffit de les ajouter au fichier routes. Mais ce n'est pas nécessaire dans notre approche.

Questions connexes