在一个高度AJAX网站中,网页内容部分由AJAX更新,基本上是更改HTML标签或网页的一部分。
所以,我们需要做出决定:
服务器端呈现HTML标记并在XmlHttpRequest响应中返回。浏览器JavaScript只是使用XHR响应更改容器的innerHTML;
服务器端以JSON格式返回数据。浏览器JavaScript根据JSON呈现HTML,然后更改容器的innerHTML。
从绩效角度来看,哪种方法更好?
在性能方面,我指的是最终用户的感知性能,这受到服务器端花费的时间,网络和客户端浏览器上花费的时间的影响。
答案 0 :(得分:3)
JSON版本很可能更快,因为有了它,你必须通过网络传输更少的位。与可能的网络延迟相比,在浏览器中呈现HTML是快速的。只需使用一些预编译模板的客户端模板语言。与Handlebars.js一样。
如果你想用它做其他事情,JSON也是更通用的。我会毫不怀疑地使用JSON。
答案 1 :(得分:2)
如果我们将客户端性能排除在外,那么您可能需要测量两件事:
这些指标听起来就像是使用JSON或HTML非常接近,以至于“只是忘掉它并做更方便的事情”。但是,如果您认真考虑获得最后一滴性能,那么这些指标就是您应该用来决定的。
答案 2 :(得分:1)
如果您需要发送html格式的数据,我会选择直接的HTML响应。
使用JSON,您必须以这样的方式创建它,即属性将告诉它是哪个标记,以及它包含的数据的另一个标记。如果您有许多嵌套标签,它将开始变得不可读并且容易出错。
或者,您可以发送一个只包含包含所有HTML字符串的属性的JSON。但是,简单的HTML仍然是最好的。
我认为无论如何你都不会看到任何性能差异。
答案 3 :(得分:0)