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