我有一个返回数据的Web服务,相当大的一组,可能是600行,20列。 在Jquery代码中将这些数据加载到html表中的最快最有效的方法是什么?
我尝试通过循环返回的数据并在字符串中创建表DOM来创建表html,但循环部分非常慢。我听说过Jquery模板,但我不确定这项技术对于大型数据集是否足够快......
由于
答案 0 :(得分:2)
您是否可以更改Web服务或让其他服务调用它并解析数据服务器端并返回HTML?在客户端处理JSON将成为您的瓶颈。如果您可以让服务返回所需的HTML,那么客户端就是一个简单的element.html(data)
。
答案 1 :(得分:1)
这似乎是一个设计问题。一次加载600 x 20数据项不是一个好主意。考虑具有较低系统资源的客户端(例如袖珍PC或TC(瘦客户端))将会访问这样的页面。
您需要缓存Web服务数据并根据用户操作将其以块的形式加载到客户端浏览器中。您可以使用一些Ajax控件来执行此操作。
答案 2 :(得分:1)
如果您的目标是让用户能够尽快与数据交互,可能您想要考虑无限滚动(也称为连续滚动)模式,以便您根据需要从滚动中构建网格用户而不是花费整个时间来渲染网格。
一些链接:
http://www.infinite-scroll.com/
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-an-infinite-scroll-web-gallery/
答案 3 :(得分:0)
我认为这是JSON DB可能最有用的地方......你可以编写一个服务器端页面,用几行的json db格式数据进行响应..然后自己做一个ajax代码来加载行和处理它们在您选择的显示模型中,就像您自己的<table>
和"overflow:auto;"
一样,并以块的形式向该表添加行...或者使用类似已经建议的“无限滚动”。