从Sharepoint列表(而不是库)中读取文件夹内的ListItems

时间:2017-07-31 14:58:36

标签: rest sharepoint sharepoint-online sharepoint-list sharepoint-jsom

如何使用Javascript / Jquery通过JSOM或REST从特定文件夹中读取共享点列表项?

3 个答案:

答案 0 :(得分:0)

使用JSOM或CSOM,您需要在CAML Query中指定'FileDirRef'属性,并添加'RecursiveAll'范围:

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(
    '<View Scope="RecursiveAll"> " +
        "<Query>" +
            "<Where>" +
                "<Eq>" +
                    "<FieldRef Name="FileDirRef" />" +
                    "<Value Type=\"Text\">yourFolderPath</Value>" +
                "</Eq>" +
            "</Where>" +
        "</Query>" +
    "</View>');

答案 1 :(得分:0)

function GetFolders() {
var oWeb = _spPageContextInfo.webAbsoluteUrl;
var URLC = oWeb + "/_api/web/lists/getByTitle('ListName')/items";
$.ajax({
    url: URLC,
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    async: false,
    cache: false,
    success: function (data) {
        $.each(data.d.results, function (index, item) {
            $.ajax({
                url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFolderByServerRelativeUrl('ListName/ListFolder)/listitemallfields/",
                method: "GET",
                headers: { "Accept": "application/json; odata=verbose" },
                async: false,
                cache: false,
                success: function (data) {
                }
            });              
        })
    },
    error: function (data) { }
});

}

答案 2 :(得分:0)

您可以使用REST API使用getfolderbyserverrelativeurl从特定文件夹中读取列表项。

参见下面的代码:

var folderRelativeUrl = "Relative_URL_Of_Your_Folder";  //here specify relative URL of your folder (e.g. '/Shared Documents')


getItemFromFolder().then(getItemFromFolderSuccess, getItemFromFolderFailed);


function getItemFromFolder(){
    return $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/getfolderbyserverrelativeurl('" + folderRelativeUrl + "')/files?$expand=ListItemAllFields",
        type: "GET",
        headers: {
            "Accept": "application/json;odata=verbose"
        }
    });
}

function getItemFromFolderSuccess(data){
    // success handler
    var response = data.d.results;  // This is Response Object from Server
}

function getItemFromFolderFailed(error){
    // error handler code
}