Sharepoint 2013 如何使用RESTAPI获取列表中特定视图中的项目总数

Sharepoint 2013 如何使用RESTAPI获取列表中特定视图中的项目总数,sharepoint-2013,Sharepoint 2013,我需要获取特定视图中的项目总数 在SharePoint列表中 我尝试低于终点,但它返回了一个列表中所有项目的计数 名单 /\u api/Web/Lists/GetByTitle(“”)/Items 假设视图名为XYZ,列表名为ABC如何构建RESTAPI 要从ABC列表中获取XYZ视图中的项目总数 您可以采用任何一种方式,使用CAML查询并使用与列表视图相同的过滤器,或者在RESTAPI URL中使用过滤器。 有关详细信息,请选中以获取特定列表视图中的项目计数,首先获取列表视图CAML查询,然

我需要获取特定视图中的项目总数 在SharePoint列表中

我尝试低于终点,但它返回了一个列表中所有项目的计数 名单

/\u api/Web/Lists/GetByTitle(“”)/Items
假设视图名为XYZ,列表名为ABC如何构建RESTAPI 要从ABC列表中获取XYZ视图中的项目总数


您可以采用任何一种方式,使用CAML查询并使用与列表视图相同的过滤器,或者在RESTAPI URL中使用过滤器。
有关详细信息,请选中

以获取特定列表视图中的项目计数,首先获取列表视图CAML查询,然后在Rest API中将此CAML查询与Post请求一起使用以返回项目,以下是代码片段供您参考:

<script type="text/javascript">
 getListItemsForView(_spPageContextInfo.webAbsoluteUrl,'ABC','XYZ')
    .done(function(data)
    {
         var itemsCount = data.d.results.length;
         alert(itemsCount);         

    })
    .fail(
    function(error){
        console.log(JSON.stringify(error));
    });



 function getListItemsForView(webUrl,listTitle,viewTitle)
    {
         var viewQueryUrl = webUrl + "/_api/web/lists/getByTitle('" + listTitle + "')/Views/getbytitle('" + viewTitle + "')/ViewQuery";
         return getJson(viewQueryUrl).then(
             function(data){         
                 var viewQuery = data.d.ViewQuery;
                 return getListItems(webUrl,listTitle,viewQuery); 
             });
    }

    function getJson(url) 
    {
        return $.ajax({       
           url: url,   
           type: "GET",  
           contentType: "application/json;odata=verbose",
           headers: { 
              "Accept": "application/json;odata=verbose"
           }
        });
    }



 function getListItems(webUrl,listTitle, queryText) 
    {
        var viewXml = '<View><Query>' + queryText + '</Query></View>';
        var url = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/getitems"; 
        var queryPayload = {  
                   'query' : {
                          '__metadata': { 'type': 'SP.CamlQuery' }, 
                          'ViewXml' : viewXml  
                   }
        };

        return $.ajax({
               url: url,
               method: "POST",
               data: JSON.stringify(queryPayload),
               headers: {
                  "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                  "Accept": "application/json; odata=verbose",
                  "content-type": "application/json; odata=verbose"
               }
         });
    }
</script>

getListItemsForView(_spPageContextInfo.webAbsoluteUrl,'ABC','XYZ')
.完成(功能(数据)
{
var itemsCount=data.d.results.length;
警报(项目搜索);
})
.失败(
函数(错误){
log(JSON.stringify(error));
});
函数getListItemsForView(webUrl、listTitle、viewTitle)
{
var viewQueryUrl=webUrl+“/”api/web/lists/getByTitle(““+listTitle+”)/Views/getByTitle(“+viewTitle+”)/ViewQuery”;
返回getJson(viewQueryUrl)(
函数(数据){
var viewQuery=data.d.viewQuery;
返回getListItems(webUrl、listTitle、viewQuery);
});
}
函数getJson(url)
{
返回$.ajax({
url:url,
键入:“获取”,
contentType:“application/json;odata=verbose”,
标题:{
“接受”:“application/json;odata=verbose”
}
});
}
函数getListItems(webUrl、listTitle、queryText)
{
var viewXml=''+queryText+'';
var url=webUrl+“/”api/web/lists/getbytitle(“+listitle+”)/getitems“;
变量queryPayload={
“查询”:{
“_元数据”:{“类型”:“SP.CamlQuery”},
“ViewXml”:ViewXml
}
};
返回$.ajax({
url:url,
方法:“张贴”,
数据:JSON.stringify(queryPayload),
标题:{
“X-RequestDigest”:$(“#u-RequestDigest”).val(),
“接受”:“application/json;odata=verbose”,
“内容类型”:“应用程序/json;odata=verbose”
}
});
}
参考:

<script type="text/javascript">
 getListItemsForView(_spPageContextInfo.webAbsoluteUrl,'ABC','XYZ')
    .done(function(data)
    {
         var itemsCount = data.d.results.length;
         alert(itemsCount);         

    })
    .fail(
    function(error){
        console.log(JSON.stringify(error));
    });



 function getListItemsForView(webUrl,listTitle,viewTitle)
    {
         var viewQueryUrl = webUrl + "/_api/web/lists/getByTitle('" + listTitle + "')/Views/getbytitle('" + viewTitle + "')/ViewQuery";
         return getJson(viewQueryUrl).then(
             function(data){         
                 var viewQuery = data.d.ViewQuery;
                 return getListItems(webUrl,listTitle,viewQuery); 
             });
    }

    function getJson(url) 
    {
        return $.ajax({       
           url: url,   
           type: "GET",  
           contentType: "application/json;odata=verbose",
           headers: { 
              "Accept": "application/json;odata=verbose"
           }
        });
    }



 function getListItems(webUrl,listTitle, queryText) 
    {
        var viewXml = '<View><Query>' + queryText + '</Query></View>';
        var url = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/getitems"; 
        var queryPayload = {  
                   'query' : {
                          '__metadata': { 'type': 'SP.CamlQuery' }, 
                          'ViewXml' : viewXml  
                   }
        };

        return $.ajax({
               url: url,
               method: "POST",
               data: JSON.stringify(queryPayload),
               headers: {
                  "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                  "Accept": "application/json; odata=verbose",
                  "content-type": "application/json; odata=verbose"
               }
         });
    }
</script>