【发布时间】:2010-09-15 14:48:36
【问题描述】:
我编写了一个以 json 格式返回一些数据的 Web 服务。为了在表格中显示这个,我使用了 datatables jquery 插件:
for(var i=0;i<results.length;i++){
myTable.fnAddData( [
"<input name='codeSearched' type='radio' value='"+results[i].ID+"' />",
"<span id='code_"+results[i].ID+"'>"+ results[i].code+"</>",
results[i].description ] ,true);
}
这个 javascript 似乎会杀死浏览器。 (在 Firefox 上 20 多秒,只有几千行)。通过将服务器端呈现为 html 片段并直接插入到 dom 中,我已经将类似数量的数据加载到数据表中,速度提高了几个数量级。
您能推荐一种两全其美的方法吗? (即,调用一个以开放结构化格式提供数据的 ajax Web 服务,同时还能快速解析和呈现?
感谢您的任何建议
【问题讨论】:
-
您一次显示数千行?那个疯子。并且使用 javascript 来创建一个 dom 结构将比让服务器端应用程序只呈现 html 慢得多。
-
不显示,但是是的,它们需要在 dom 中才能使数据表分页和搜索客户端。
-
如你所说,html 片段更快(更简单),可能不值得头疼......
-
为什么要在客户端做分页和搜索?在服务器上不是更快吗?您可以在客户端上仅显示结果的当前页面。如果需要更多数据,请返回数据库。
标签: javascript html ajax json xhtml