2010-08-10 32 views
1

我正在考慮完成使用AJAX顯示動態HTML的相同任務的兩種不同方式。第一種方法是簡單地生成HTML服務器端,然後通過它插入。 DOM(jQuery的$().load()實際上)。第二種方法是生成JSON服務器端,然後使用該數據將元素注入到DOM中。AJAX請求的性能比較:XML與JSON

我想知道每種方法的優缺點,特別是在性能權衡方面。很明顯,不得不隨HTTP發送HTML數據將會降低HTTP響應的速度,但是數據需要多長時間才能使其加載的時間明顯較長?這就是說,渲染新鮮HTML的性能如何與構建DOM對象進行比較,然後將其注入到當前文檔中?我有一種直覺,大多數瀏覽器在渲染大塊新鮮的HTML時比渲染頁面的不同部分一次更有效(可能是因爲瀏覽器已經做了更長的時間?我不知道,只是一個預感) 。不同的瀏覽器如何比較? (我個人使用Chrome瀏覽器(不用於測試),但我期望在Safari,IE7,IE8和Firefox中使用webapp)。

如果JSON顯然是更好的方法,什麼資格太極端?加載索引以獲得文檔對象和可能的簡單頁面結構,然後從那裏使用AJAX和JSON來完成其他任何操作?

+0

您忘了第三個選項:通過JSON傳遞數據,使用JavaScript構建HTML塊,然後一次插入整個塊。 – Zarel 2010-08-10 01:47:58

回答

0

你可以查看這段視頻,看看在現代瀏覽器中呈現html的問題有多大(實際上是巨大的)。真的,你會爲無辜的用戶節省數百小時的等待時間。 http://www.youtube.com/watch?v=nCgQDjiotG0

好吧,現在不再開玩笑了。由於速度轉換爲json的想法聽起來有點極端。不是因爲html具有一些技術優勢,而是因爲從模板生成html在每個web框架(至少是MVC)中都很容易。這是Web框架的功能。在Javascript中將數據放入模板聽起來有點棘手。不必要的併發症。