我在本地JSON文件中有很多数据,我可以在每个$.getJSON
上使用jQuery的keyup
成功获取数据。
但是响应数据太大了,大约有1万条记录中的10000条记录,它会减慢所有页面的速度,有时会破坏浏览器。我知道有很多答案,但都是针对Ajax响应和服务器端可靠的。
使用$.getJSON
处理大型json响应数据的最佳方法是什么?
这是我尝试过的事情
我试图打破响应并只显示20行 - 但我需要向用户显示所有数据
用于在页面滚动中显示20行和其他行 - 但是当我在每个keyup
上获取数据时,这是不可能的
jQuery代码
$.getJSON(path + "abc.json", function(data){
$('input').on('keyup', function(){
var inputVal = $(this).val(),
myExp = new RegExp(inputVal, "i"),
sortedResultNames = [];
if(inputVal.length >= 3){
$.each(data, function(index, value){
if (value[searchTermsVal].search(new RegExp(inputVal,"i")) != -1) {
if( $(index).length < 20 ) {
sortedResultNames.push(value[searchTermsVal]);
} else {
return false;
}
}
});
}
});
});
$(window).scroll(function() {
if($(window).scrollTop() == $(document).height() - $(window).height()) {
// get data after 20 rows from json response and append to the div
}
});