AJAX请求的性能比较:XML与JSON

AJAX请求的性能比较:XML与JSON,ajax,performance,json,cross-browser,Ajax,Performance,Json,Cross Browser,我正在考虑两种不同的方法来完成使用AJAX显示动态HTML的相同任务。第一种方法是简单地生成HTML服务器端,然后通过插入。DOM(实际上是jQuery的$().load()。第二种方法是在服务器端生成JSON,然后使用该数据将元素注入DOM 我想知道每种方法的优缺点,特别是在性能权衡方面。显然,必须随数据一起发送HTML会降低HTTP响应的速度,但是数据必须有多大才能让加载的时间更长呢 也就是说,呈现新HTML的性能与构建DOM对象然后将其注入当前文档相比如何?我有一种直觉,大多数浏览器在呈现

我正在考虑两种不同的方法来完成使用AJAX显示动态HTML的相同任务。第一种方法是简单地生成HTML服务器端,然后通过插入。DOM(实际上是jQuery的$().load()。第二种方法是在服务器端生成JSON,然后使用该数据将元素注入DOM

我想知道每种方法的优缺点,特别是在性能权衡方面。显然,必须随数据一起发送HTML会降低HTTP响应的速度,但是数据必须有多大才能让加载的时间更长呢

也就是说,呈现新HTML的性能与构建DOM对象然后将其注入当前文档相比如何?我有一种直觉,大多数浏览器在呈现大块的新鲜HTML时会比一次呈现页面的不同部分更有效(可能是因为浏览器已经做了更长的时间了?我不知道,只是一种预感)。不同的浏览器如何比较?(我个人使用Chrome(不是为了测试),但我希望这个webapp能在Safari、IE7、IE8和Firefox中使用)


如果JSON显然是更好的方法,那么有什么理由认为它过于极端?加载索引以获得一个文档对象和一个简单的页面结构,然后使用AJAX和JSON来做其他事情,怎么样?

您可以查看此视频,了解在现代浏览器中呈现html的问题有多大(事实上是多大)。事实上,您将为无辜用户节省数百小时的等待时间。


别开玩笑了。由于速度原因而切换到json的整个想法对我来说听起来有点极端。不是因为html有一些技术优势,而是因为在每个web框架(至少是MVC)中,从模板生成html都很容易。这就是web框架所做的。在Javascript中将数据放入模板听起来有点棘手。不必要的复杂性。

您忘记了第三个选项:通过JSON传递数据,使用JavaScript从中构造HTML块,然后立即插入整个块。