【发布时间】:2012-05-06 23:17:00
【问题描述】:
在 asp.net mvc3 视图中,我有一个 $.get() ajax 调用到一个控制器操作,它返回 80 行 html 代码。是更快(从.get 调用到完成渲染)在服务器端创建 dom 元素然后只传递一个巨大的元素附加到 DOM,还是只传递大量原始数据更快到客户端,然后在那里创建和追加所有 DOM?
返回(或生成)的 html 创建了一个仪表板,其中包含大约 5 层嵌套 div、一些 span、文本等。
【问题讨论】:
-
@ta.speot.is - 服务器速度一般,没什么特别的。客户就是浏览者。
-
由于浏览器在后台处理它的方式,通常附加大块 HTML 比构建 DOM 更快。不过,不幸的是,我无法引用这一点。 (意思是我基本上是在猜测:p)
-
似乎尽可能多地分配计算是有意义的。如果您有 1000 个不同的客户端连接,您宁愿让一台机器完成这部分工作,还是 1000 台机器?
-
@cliffsofinsanity - 取决于这 1000 台机器是踏板自行车还是喷气发动机。换句话说,服务器处理字符串创建的速度相当快,而客户端有时会在创建 DOM 元素时遇到困难。
-
@TravisJ:我们是在谈论 10000 个元素还是更多,比如数百个?即使是前者,我还是会在客户端做,只是对数据做一些异步处理,这样用户体验就不会受到影响。
标签: c# javascript ajax asp.net-mvc-3