1

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

4

3 回答 3

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
} 
于 2017-08-01T09:34:22.473 回答
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) { }
});

}

于 2017-07-31T18:56:32.183 回答
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>');
于 2017-07-31T18:04:40.793 回答