【发布时间】:2011-03-27 14:29:58
【问题描述】:
我正在考虑两种不同的方法来完成使用 AJAX 显示动态 HTML 的相同任务。第一种方法是简单地在服务器端生成 HTML,然后通过插入它。 DOM(实际上是 jQuery 的 $().load() )。第二种方法是在服务器端生成 JSON,然后使用该数据将元素注入 DOM。
我想知道每种方法的优缺点,尤其是在性能权衡方面。显然,必须将 HTML 与数据一起发送会减慢 HTTP 响应的速度,但是数据需要多大才能花费明显更长的时间来加载?
话虽如此,渲染新的 HTML 与构建 DOM 对象然后将其注入当前文档的性能相比如何?我有一种直觉,大多数浏览器在渲染新的 HTML 块时比一次渲染页面的不同部分的点点滴滴更有效(可能是因为浏览器已经这样做了更长的时间?我不知道,只是预感) .不同浏览器如何比较? (我个人使用 Chrome(不用于测试),但我希望 webapp 可以跨 Safari、IE7、IE8 和 Firefox 使用)。
如果 JSON 显然是更好的方法,那么什么是极端的呢?加载索引以获取文档对象和简单的页面结构,然后从那里使用 AJAX 和 JSON 来做其他所有事情怎么样?
【问题讨论】:
-
您忘记了第三种选择:通过 JSON 传递数据,使用 JavaScript 从中构造一个 HTML 块,然后一次插入整个块。
标签: ajax performance json cross-browser