SharePoint Online 使用Ajax请求超过5000条数据的列表
前言
相信大家都遇到过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里面的请求获取下一页,这样对性能更友好。
博文推荐: |
SharePoint 2013 WebPart 管理工具分享[开源] |
基于SharePoint 2013的论坛解决方案[开源] |
SharePoint 2013 学习基础系列入门教程 |
SharePoint 2013 图文开发系列之门教程 |
SharePoint Designer 学习系列入门教程 |
特:如果有SharePoint项目,欢迎邮件联系我,Email:linyu_s@163.com |