构建ajax就绪应用程序的最佳方式


Best way to architect an ajax-ready application

我正在使用PHP的MVC模型。编写ajax就绪应用程序的最佳方法是什么?

为了帮助你回答我,我有一个问题清单:

  1. 它应该能够渲染内容没有javascript?
  2. 主页应该只包含一个页眉和一个页脚,并通过ajax带来的内容?
  3. ajax应该直接带来html还是json代码?如果是json,应该处理并渲染。
  4. 还有其他想法吗?

更新:在这个讨论中忘记搜索引擎

  1. 是的,它应该能够直接呈现HTML,至少在人们第一次登陆页面时。
  2. 不,就像我说的,主/第一页应该自动加载为HTML,没有必要加载页面部分,然后做一个ajax请求,它只会使它变慢,ajax的全部意义是使事情更快。
  3. 这个真的取决于你需要什么。如果你只是加载要放到布局中的内容,那么我会直接加载HTML,但如果你想加载变量,可以很容易地转换为对象进行进一步操作,而不是使用JSON。

希望这对你有帮助

  1. 你应该把内容包含在页面
  2. 您选择

为了让搜索引擎索引你的网站,所有的内容都必须不使用Javascript。

你唯一需要的就是模板。
任何使用模板的网站,都已经是ajax就绪的。更改对json_encode的模板调用只需要一行代码。

主页应该只包含一个页眉和一个页脚,并通过ajax带来的内容?


AJAX有很多缺点,应该只在合理的情况下使用。因此,您的大部分网站将保持无ajax

就我个人而言,如果有可能在没有javascript的情况下提供至少基本的可用性/信息,我会一直努力使应用程序在没有javascript的情况下工作。如果是这种情况,可以选择Progressive_enhancement。

你处理这个问题的方法似乎不对。执行任何类型的大量请求通常都不是一件好事,特别是对于AJAX请求。浏览器对并行资源设置了非常严格的限制,每个请求都增加了延迟。因此,一般来说,您希望尽可能少地使用AJAX或其他资源请求。

仅用HTML/CSS或Javascript构建应用程序的基础,然后问自己额外的AJAX请求或其他Javascript行为将最大程度地增强应用程序。

My two cents…

首先让网站在没有JS和AJAX调用的情况下正常运行。从长远来看会更好。

之后,逐渐开始ajax化,这将为您的目标受众提供更好的用户体验。

在你的请求中只得到JSON还是HTML真的取决于你得到的内容。

AJAX有其优点和缺点,对于AJAX是否能提供更好的用户体验,每种情况都需要不同的判断。