我有一个网页,我正在为一个个人项目工作,以了解 javascript 和 Web 开发。该页面由一个菜单栏和一些内容组成。我的想法是,当单击链接时,通过 AJAX 更改页面的内容,这样我:
- 从不同的页面获取一些新内容,
- 用新内容替换旧内容,
- 用一些漂亮的 javascript 视觉效果动画内容变化。
我认为这比使用标准 HTTP GET 请求获取整个文档更有效,因为浏览器不必获取<head>
文档标签中的样式表和脚本。我还应该补充一点,我仅从我创建的 Web 应用程序提供的文档中获取内容,并且我完全了解其内容。
无论如何,我最近在一个 SO 问题上遇到了这个答案,这让我想知道设计一个符合我对网页要求的解决方案的理想方法。在我看来,有两种解决方案,似乎都不理想:
- 配置我从中获取的后端(服务器),如果仅要求内容,它将返回内容而不是整个页面,然后使用 AJAX(我当前的解决方案)加载该内容,或者
- 使用 AJAX 获取整个文档,然后使用脚本提取内容并将其加载到页面中。
在我看来,这两种解决方案都不完全正确。对于 1,似乎我在两个不同的地方拆分逻辑:服务器必须配置为在要求内容时提供内容,并且 javascript 必须知道如何要求内容。对于 2,这似乎是对 AJAX 的不恰当使用(根据前面提到的 SO 答案),因为我要求一整个页面然后解析它,而 AJAX 是为了获取少量信息而不是比整个文件。
所以我要问:从工程的角度来看,这两种解决方案中哪一种更好?是否有另一种解决方案比这两个选项中的任何一个更好?