【问题标题】:How to extract more than 500 records with Ajax from a database如何使用 Ajax 从数据库中提取 500 多条记录
【发布时间】:2016-08-08 23:59:42
【问题描述】:

我正在使用 Ajax 脚本提取“POST”数据,并且正在使用 json 数据填充表。目前我遇到了一次只能提取 500 条记录的问题。我怎样才能提取更多?或者有没有办法创建一个将数据放入页面的函数?或者我可以在负载更多的情况下提取更多数据,然后在不需要时删除数据?

代码:

 function populateTable(){       //populates the project list with active projects

 var reqBody1 = { "filters":{ "and": [] }}
 var $orgName = $('#orgName');


 $.ajax({        
 type: 'POST',
 url: "https://myWebsite.com/path/to/data",
 contentType: 'application/json',
 data: JSON.stringify(reqBody1),
 success: function(res){

    for (i=0; i <records.total ; i++){

        $orgName.append('<tr><td>' + res.records[i].field_1364364 + '</td></tr>');
            }
        }
});
}

错误:

【问题讨论】:

  • 也许您的数据源对大量数据集的结果进行了分页?根据您的情况,如果给定的搜索将返回超过某个限制的结果,则可能会返回该限制和表示结果总数的属性。采用这种方法的 API 通常附带一些逻辑,允许选择一个偏移量,然后从该偏移量开始提交第二个请求以获取剩余结果。
  • 嗯,more than 500 records 结果只有 130 条记录时出错?这是 API 中的一个错误,您必须要求此 API 的作者修复它。

标签: javascript ajax html-table data-extraction


【解决方案1】:

您正在与之交互的 API 返回您看到的“无法一次提取超过 500 条记录”警告。这不是 AJAX 所固有的。

您需要查阅此 API 的文档以查看是否有解决方法。特别是,检查“偏移”或“跳过”选项,或者,如果您检索的结果已排序,请查看是否可以将搜索限制为低于您检索的最后一个排序的结果。

【讨论】:

  • 嗨,我有一个偏移值,如何利用它来提取更多数据?我真的很想知道如何使页面成为我正在提取的 JSON 数据的页面。感谢您的帮助!
  • 阅读您正在使用的 API 的文档。
猜你喜欢
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-13
  • 2018-10-14
  • 2015-11-07
  • 2013-05-05
  • 1970-01-01
相关资源
最近更新 更多