前言
相信大家都遇到过SharePoint Online取数据的时候,列表数据超过5000阈值的情况,下面,我们介绍下如何利用分页获取超过5000条数据的列表。
正文
下面是源代码,主要有两个地方要注意,一个是最开始请求top=5000,告诉请求我们要分页。第二个就是data.d.next,如果这个返回一个url就可以请求这个url获取下一页,如此递归直到返回为空。
var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('TestData')/items?$top=5000"; var response = response || []; // this variable is used for storing list items function GetListItems(){ return $.ajax({ url: url, method: "GET", headers: { "Accept": "application/json; odata=verbose" }, success: function(data){ response = response.concat(data.d.results); if (data.d.__next) { url = data.d.__next; GetListItems(); } else { console.log(response); return response; } }, error: function(error){ } }); }
结束语
大家需要注意下,这里Ajax请求的Top并非一定是5000,如果当前页面只需要20条数据,也可以是20,等到点下一页的时候再next里面的请求获取下一页,这样对性能更友好。
标签:5000,请求,url,SharePoint,next,Online,data,response From: https://www.cnblogs.com/jianyus/p/18003108