服务器端(PHP)与客户端(JS)运行权衡

时间:2010-08-01 10:01:30

标签: php javascript

我有一个行集合,我可以使用PHP(服务器端)生成表格(HTML) 或者我可以将原始数据发送到客户端并使用JavaScript生成表

哪一个更好,方式?

5 个答案:

答案 0 :(得分:6)

服务器端运行得更快,因为你需要遍历行集合,以便从中创建一个字符串 所以不要这样做,你最好已经创建了表...

使用JavaScript渲染内容也是SEO的反模式!

答案 1 :(得分:6)

不要让站点关键功能依赖于Javascript,因为这可能会被禁用(对于关闭它的人)并且会让网络蜘蛛无法抓取数据(例如Google)

答案 2 :(得分:1)

正如上校所说,你可以自由选择。但是,哪一个是合适的取决于任务。

我认为,在设计Web应用程序/网站时需要考虑很多事情。决定哪些元素将在服务器端构建 - 因此依赖于服务器的资源,哪些应该在客户端计算机上处​​理,这始终是该计划的关键部分。

例如,在流行的网站的情况下,太多的服务器端进程可能会对服务器造成很大的负担。 (在某些情况下,这些过程可能会变得不复存在,而且真的很痛苦)

将功能部分保留在客户端可以减轻负载。 如果没有可用性(速度,浏览器依赖性,SEO等)的影响,那么这是最佳实践。

答案 3 :(得分:1)

在这种情况下最好避免使用Javascript ,除非您真的希望在客户端进行每一次处理;使用JavaScript打印数据不会带来太多好处,并且会产生更多负面影响,例如最终用户不支持JS或某些浏览器不支持您的脚本的可能性。

无论数据最有可能构成您听到的结果的大部分结果。更重要的是要确定你是否将使用div或表,如果数据需要以表格方式呈现,而不是使用表,否则不惜一切代价避免使用。有一个div和一些换行而不是一吨表/行和单元将相当大幅度减少加载时间。

它确实完全取决于你正在做的事情。

答案 4 :(得分:-2)

我的回答是假设您正在构建一个不针对低端浏览器的Web应用程序。

在这种情况下,绝对客户端。即使你有1000行。以JSON(较低带宽请求)发送它们,然后使用jQuery呈现表,但不要一次显示它们。这会杀了你的浏览器。使用分页,排序和创造性搜索来建立最佳用户体验。 如果您必须处理数百或数千行,请使用jOrder进行搜索,排序和分页以保持速度。