在 asp.net mvc3 视图中,我有一个$.get()
对控制器操作的 ajax 调用,该操作返回 80 行 html 代码。在服务器端创建 dom 元素然后只传递一个要附加到 DOM 的巨大元素是否更快(从.get
调用到完成渲染),还是将大量原始数据传递给客户端更快边然后做所有的DOM创建和追加那里?
返回(或生成)的 html 创建了一个仪表板,其中包含大约 5 层嵌套的 div、一些跨度、文本等。
在 asp.net mvc3 视图中,我有一个$.get()
对控制器操作的 ajax 调用,该操作返回 80 行 html 代码。在服务器端创建 dom 元素然后只传递一个要附加到 DOM 的巨大元素是否更快(从.get
调用到完成渲染),还是将大量原始数据传递给客户端更快边然后做所有的DOM创建和追加那里?
返回(或生成)的 html 创建了一个仪表板,其中包含大约 5 层嵌套的 div、一些跨度、文本等。
我建议您进行自己的基准测试,因为这取决于很多因素,例如您的受众设备(计算机/移动设备)、互联网速度、数据计划等。首先了解您的目标受众,然后做更好的事情。
返回格式化的 HTML 会占用大量流量,但允许您将其直接附加到 DOM。这对于使用宽带的笔记本电脑/台式机的人来说很好。
返回原始数据更快,但会让您在现场创建 DOM。但是,这通常适用于具有基于传输数据量付款的合同的高性能机器或移动设备。
这两种方法完成的主要 CPU 工作是解析 HTML、生成 DOM 并将其绘制在屏幕上。在服务器上准备响应并不能逃避这一点。您不能在服务器上创建 DOM 或在服务器上执行此工作。
所以问题是客户端上的字符串连接与服务器上的字符串连接并通过网络发送。这是一种不费吹灰之力的事情。