显示数据库内容 - PHP vs Javascript

显示数据库内容 - PHP vs Javascript

问题描述:

我(大部分)是一名前端开发人员,他在一个网站上使用后端人员制作原型。它的基础知识需要一个用户登录区域,以及一个搜索表单,用于搜索数据库表并返回结果。显示数据库内容 - PHP vs Javascript

他正在用Java和PostgreSQL做后端逻辑。他建议在查询时向我返回一个JSON格式。这意味着我将不得不从JSON字符串中取数据并填充/创建HTML标记。我可以用Javascript或PHP来做到这一点。它似乎是PHP不会更聪明,因为我不需要使用Javascript/jQuery创建HTML标记,也不需要使用服务器填充的所有数据,减少了客户端的负载,但是这意味着作为“前端“人我也在写PHP。

关于使用Javascript将所有服务器数据加载到页面上,这是标准做法吗?或者它应该只用于AJAX?

后端应该是否也会生成标记?分离这个前端和后端工作的最好方法是什么?谢谢!

如果你使用PHP,你也是一个后端人。

如果标记是由服务器生成的,则通常不会编写AJAX应用程序,因为标记是由服务器生成的。

事实上,如果你想编写一个ajax应用程序,你必须用Javascript来操纵DOM。使用jQuery或类似的东西来做到这一点。

分离前端和后端是通过创建一个接口来完成的,该接口是一个将UI与后端逻辑分开的合约。在你的情况下,合同是你的JSON数据的格式。

+0

我不愿意写PHP,因为那意味着我会写后端表示逻辑太正确?此外,“如果标记是由服务器生成的,则通常不会编写AJAX应用程序,因为标记是由服务器生成的。”不能用PHP生成标记,并且AJAX中的Javscript只是操纵DOM?在我看来,我希望他会写一些模板引擎,并用php处理表示逻辑。我将严格为任何形式的用户交互编写HTML/CSS和JS。 – Lucas 2011-02-01 11:37:46

+0

是的,但是如果您想更改UI,您可以向服务器发送调用,该服务器将生成标记(非AJAX方式)或对服务器进行异步调用以调用JSON数据od,而不是更改带JavaScript的DOM。我会用第二种方法。 – 2011-02-01 11:43:02

+0

对不起第二种方法你是指JS还是PHP? – Lucas 2011-02-01 11:46:17

一个很好的折衷办法是做两种:

选项1

一个小PHP脚本服务器端哪些格式的restults与适当的IDS /类似于一个表,允许JavaScript添加类造型。整个表格可以通过AJAX调用返回并放置在页面上的占位符div中。

选项2

服务器返回简单JSON来前端,前端用任何机制它认为合适的建立相应的HTML

第一个是代码清晰 - HTML的生成与样式是分离的,但是它是一个额外的跳跃(PHP),并且稍微不灵活 - JS可以根据需要修改表,但它受PHP PHP发送的限制。

第二个稍微冗长的代码,但完全灵活。

我始终使用JSON将数据从服务器发送到浏览器,在浏览器中使用一种或多种模板格式。我宁愿使用JavaScript中的数组,因为像map和filter这样的数组方法使它更容易。