我有一个jQuery Ajax调用,它传入输入的sql字符串并相应地返回数据行。因为这些可能是非常大量的数据我改变了调用以跳过而不是。记录参数。这没关系,但我真正想要的是列出所有数据,因为一个调用可以返回大量的数据,我希望可能将它拆分。
我想要做的是:
有没有人需要先做这样的事情,或者对如何通过Ajax获取大量数据有任何建议?作为参考,我使用的是ASP.Net WebMethod。
答案 0 :(得分:1)
您可以在AJAX回调函数中获取更多行。您只需要跟踪已经有多少“页面”。
var options = { rows : 25, offset : 0, url : 'irrelevant' },
fetchRows = function(){
$.get( options.url, { rows : options.rows, offset : options.offset }, render );
options.offset++;
},
render = function( data ){
/* perform the rendering here */
if( data.length == options.rows ){ /* assuming `data` is an array of rows */
fetchRows();
}
};
fetchRows
发送AJAX请求并将render
设置为回调函数。 render
然后再次调用fetchRows
如果先前的请求返回的行数与一个“页面”上的行数相同(在此示例中,最后一页将包含< 25行,因此无需继续提取)。