gpt4 book ai didi

jquery - 设计一个使用 Ajax 的 Play 框架,但也关心 SEO 和优雅降级

转载 作者:行者123 更新时间:2023-12-01 01:48:31 25 4
gpt4 key购买 nike

使用 Play 设计 Web 应用程序(提供优雅降级)的好方法是什么?我正在开发一个客户端应用程序,它使用 Ajax 来获取一些部分 View ,然后使用 JQuery 将它们放入 DOM 中。

为了支持 SEO 和优雅降级,我应该创建一个重复的 Controller 方法,它将部分 View 呈现为整个页面的一部分(包括页眉和页脚)。因此,当我使用 Jquery 进行调用时,它会调用“item/12345/partial”,它只会带来部分 View ,但是当用户转到“item/12345”时,它应该显示整个页面,其中部分已经卡住了。

第二个选项是避免第二个 Controller 方法,并始终返回完整页面内容(页眉、javascript、样式、部分和页脚)。当使用 JQuery 调用时,回调方法将仅删除必要的 HTML 并将其放入 DOM 中。当然,这意味着服务器将始终返回相同数量的内容,因此它确实降低了使用 AJAX 的优势。

您会推荐哪一个?

最佳答案

第二个选项对我来说看起来不太好。我们在项目中使用的是由 ajax 部分扩展的基本模板,这些部分具有类似这样的内容,不会在 ajax 请求上加载模板的其余部分:

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

search-main.html 在要呈现整页(非 ajax 请求)时应出现 ajax 部分的位置有 #{doLayout/}request.ajax 中的值将由 Play 设置,因此您不必自己计算。

关于重复的 Controller :如果需要,您应该能够将一个 Controller 映射到多个网址。只需将它们添加到routes 文件中即可。但这在我们的方法中不是必需的。

关于jquery - 设计一个使用 Ajax 的 Play 框架,但也关心 SEO 和优雅降级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com