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里面的请求获取下一页,这样对性能更友好。

posted @   霖雨  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 我干了两个月的大项目,开源了!
· 推荐一款非常好用的在线 SSH 管理工具
· 千万级的大表,如何做性能调优?
· 盘点!HelloGitHub 年度热门开源项目
· Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,
历史上的今天:
2016-02-04 SharePoint 开启网站匿名访问图文详解
2013-02-04 SharePoint 2013 配置启用搜索服务
点击右上角即可分享
微信分享提示