jquery - 使用 REST API 获取 SharePoint 列表的不同数据

标签 jquery sharepoint sharepoint-online

如何使用 REST API 获取 SharePoint 列表的不同列数据? 有没有一种方法可以在不循环的情况下实现它?

谢谢!

最佳答案

根据Use OData query operations in SharePoint REST requests ,不支持分组等操作。

解决方案是在从 SharePoint REST 服务返回 JSON 结果之后应用分组。

如何使用 jQuery 从数组中获取不同的值

function groupBy(items,propertyName)
{
    var result = [];
    $.each(items, function(index, item) {
       if ($.inArray(item[propertyName], result)==-1) {
          result.push(item[propertyName]);
       }
    });
    return result;
}


var catalog = { products: [
   { category: "Food & Dining"},
   { category: "Techonology"},
   { category: "Retail & Apparel"},
   { category: "Retail & Apparel"}
]};

var categoryNames = groupBy(catalog.products, 'category'); //get distinct categories
console.log(categoryNames);

JSFiddle

示例

假设以下函数用于通过 SharePoint REST API 获取列表项:

function getListItems(url, listname, query, complete, failure) {
    $.ajax({
        url: url + "/_api/web/lists/getbytitle('" + listname + "')/items" + query,
        method: "GET",
        headers: { "Accept": "application/json; odata=verbose" },
        success: function (data) {
            complete(data.d); 
        },
        error: function (data) {
            failure(data);
        }
    });
}

下面的示例演示了如何打印不同的任务名称:

getListItems('https://tenant.sharepoint.com/project','Tasks','?select=Title',
    function(items){    
       var taskNames = groupBy(items,'Title');
       console.log(taskNames);
    },
    function(error){
       console.log(JSON.stringify(error));
    }
);

关于jquery - 使用 REST API 获取 SharePoint 列表的不同数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744763/

相关文章:

c# - 使用带有 Microsoft Graph API 的 Sharepoint 文档库处理 Excel 文件

asp.net-mvc - 使用 GetWebLoginClientContext 时出现 SharePoint Online 身份验证问题

javascript - IE8 上的 jquery(null 为 null 或不是对象)错误

javascript - Jquery 递增数字,限制为 5

javascript - 获取特定 div 中所选内容的 HTML

c# - Sharepoint 到 ASP.net MVC 文件下载

c# - 使用 CSOM 对 Sharepoint Online 进行身份验证

javascript - 单击取消时如何将复选框设置为取消选中

web-services - 共享点 2007 : How to change a custom webpart webservice URL?

sharepoint - 如何从启用了限制的大列表中获取?