哪个更快,客户端或服务器端dom追加?

时间:2012-05-06 23:17:00

标签: c# javascript ajax asp.net-mvc-3

在asp.net mvc3视图中,我对控制器动作进行了$.get() ajax调用,返回80行html代码。它是否更快(从.get调用到完成渲染)在服务器端创建dom元素然后只传入一个巨大的元素以附加到DOM,或者更快地传递大量的原始数据到客户端然后做所有DOM创建并附加在那里?

返回(或生成)的html会创建一个包含大约5层嵌套div,一些跨度,文本等的仪表板。

2 个答案:

答案 0 :(得分:3)

我建议您使用自己的基准测试,因为这取决于很多因素,例如您的受众设备(计算机/移动设备),互联网速度,数据计划等。首先了解您的目标受众并做得更好。

返回格式化的HTML对流量很重要,但允许您将其直接附加到DOM。对于有宽带的笔记本电脑/台式机用户来说这很好。

返回原始数据的速度更快,但会让您在现场创建DOM。但是,这通常适用于拥有合同的高功率机器或移动设备,这些合同的付款基于传输的数据量。

答案 1 :(得分:2)

两种方法完成的主要CPU工作是解析HTML,生成DOM并在屏幕上绘制它。在服务器上准备响应不会逃脱此问题。您无法在服务器上创建DOM或在服务器上执行此操作。

所以问题是客户端上的字符串连接与服务器上的字符串连接并通过网络发送它。这很简单。