在后端准备数据还是在前端操作?

时间:2012-01-08 19:02:27

标签: php jquery ajax

好的,我会尽可能简洁(我有一种胡扯的倾向)。

我正在制作一个与电影相关的网络应用,所以我正在向我的应用程序的后端(PHP)发出一个AJAX请求,它正在返回我的数据。目前,我将完整的JSON返回到我的前端(jQuery)。然后,我围绕数据.each()并将相关部分+标记附加到DIV。现在我的问题是,我是否保持这种方式(在请求中发回所有数据并在前端操作它)或者我在PHP中循环数据并将标记发送回前端并将其附加到DIV没有任何干预?哪个更适合优化?我认为两种选择在可维护性方面都是相同的。

4 个答案:

答案 0 :(得分:3)

如果只返回JSON,那就更好了。这将作为一个不错的Web服务,您甚至可以在以后切换到完整的RESTful服务。如果最终更改标记,这也会减少麻烦,因为您只需要在客户端处理它。此外,如果您有一个干净的Web服务,您可以添加任意数量的消费者(第三方或非第三方),这些将能够使用您的Web服务,因为您只是返回JSON。

答案 1 :(得分:0)

我花了很多时间为我正在处理的应用程序考虑这个问题,我决定在前端生成任何标记。

我选择这个选项的原因是因为如果我想创建一个移动版本的Web应用程序,我可以这样做而不需要更改我的后端代码。因此从长远来看,它使我的应用程序更易于管理,并可移植到其他设备等。

答案 2 :(得分:0)

如果您在前端所做的只是将其全部打包成一个包含元素,并且格式不会根据内容而改变 - 我会说从后端发送标记。 然后,您可以在应用程序的任何位置发送标记的“块”,并且您知道它可以在没有额外前端编码的情况下工作。 留下一个返回数据的选项,因为你想在其他地方做一些其他事情。

答案 3 :(得分:0)

而是将标记发送到前端,因为当你从js生成大量的html时,它将成为维护的噩梦。将业务逻辑与表示逻辑分开(例如使用smarty作为tpl引擎)。 这样你的php,html和js将尽可能保持干净和可维护。