Ajax(客户端)vs PHP(服务器),加载DB数据


Ajax (client) vs PHP (server), Loading DB Data

我正在着手一个项目的一部分,现在我计划如何从DB加载动态表数据。我发现了两个基本的方法。

我相信我可以使用url查询字符串与我的phpbb3论坛的php后端进行通信。它还可以加载适当的数据,并将其以完整的静态页面块的形式发送给用户。因此我将写入/stats.php?page=3&orderby=name&dir=desc.

或者我可以将相同的空页面发送给每个人,浏览器可以使用ajax动态加载用户想要的任何内容。

或者两者的某种组合。

什么是最佳实践?两者的缺点和优点是什么?

这取决于你想做什么。为了简单起见,我认为第一个选项(在URL中使用适当的查询字符串变量加载它)更好。

使用AJAX呈现页面总是比较复杂。然而,如果你知道你在做什么,它也会给你更多的UI控制。从我的经验来看,如果你想让你的页面更像一个"web应用程序",到处都有动态的事情发生,那么简单地通过AJAX从服务器加载JSON数据,并通过某种模板系统动态地创建视图要容易得多。否则,你就只能用PHP加载DOM,然后以某种方式将数据传递给JavaScript,要么在DOM元素上使用data- xxx属性,要么让PHP在页面顶部输出JSON字符串并将其分配给JavaScript变量,等等。这可能会变得非常复杂。

在你的情况下,看起来你只是想让用户从你的论坛查看某些数据。除非有任何额外的要求,我建议使用第一个选项,因为它会容易得多。这很简单,您似乎不需要动态加载任何东西。

一个好的经验法则是,你的UI越复杂、越动态,你就越应该考虑转向"web应用"框架,让服务器充当REST服务器。