使用JQuery或任何其他类似框架从您的自定义URL/Web服务加载HTML内容非常容易.我多次使用这种方法,直到现在,发现性能令人满意.
但是所有的书籍,所有专家都试图让我使用JSON而不是生成HTML.它是如何比HTML更优越的?
它快得多吗?
它在服务器上的负载是否很小?
另一方面,我有一些使用生成的HTML的原因.
你是哪一方,为什么?
我有一个相当ajax重的站点,一些3k html格式的页面从ajax请求插入到DOM中.
我一直在做的是采用html响应,只使用jQuery插入整个东西.
我的另一个选择是输出xml(或可能是json),然后解析文档并将其插入页面.
我注意到似乎大多数大型网站都采用json/xml方式.Google Mail会返回xml而非格式化的html.
这是由于性能?还是有另一个理由使用xml/json vs只检索html?
从JavaScript的角度来看,它似乎注入直接html是最简单的.在jQuery中我只是这样做
jQuery.ajax({
type: "POST",
url: "getpage.php",
data: requestData,
success: function(response) {
jQuery('div#putItHear').html(response);
}
Run Code Online (Sandbox Code Playgroud)
我需要做xml/json响应
jQuery.ajax({
type: "POST",
url: "getpage.php",
data: requestData,
success: function(xml) {
$("message",xml).each(function(id) {
message = $("message",xml).get(id);
$("#messagewindow").prepend("<b>" + $("author",message).text() +
"</b>: " + $("text",message).text() +
"<br />");
});
}
});
Run Code Online (Sandbox Code Playgroud)
从代码的角度来看显然效率不高,我不能指望它是更好的浏览器性能,那么为什么第二种方式呢?
做AJAX的首选方法是什么?
如果是使用Jquery为AJAX编写的用PHP编写的搜索页面
你会如何处理响应?
a)让响应包含所有相关的html /样式
要么
b) 发送纯JSON并使用javascript函数构建围绕javascript变量的html /样式.
我可以看到两者都有优势.'a'显然更容易,而'b'更有效(尽管gzip可能会使差异可以忽略不计).
我只是想知道AJAX响应的"理想"输出格式是什么?使用一些客户端JavaScript模板引擎将纯数据(JSON,XML)呈现到页面中?或者"按原样"呈现到页面中的HTML片段?
你的偏好是什么?为什么?