簡體   English   中英

獲取SP.js的所有列表根文件夾

[英]Get all lists root folder with SP.js

我需要使用shrepoint客戶端對象模型獲取當前Web上列表的所有根文件夾。

我嘗試使用此代碼,但我有錯誤

var context = SP.ClientContext.get_current();
var lists = context.get_web().get_lists();
context.load(lists);
context.executeQueryAsync(function (sender, args) {
    var enumerator = lists.getEnumerator();
    while (enumerator.moveNext()) {
       var list = enumerator.get_current();
       var rootFolder = list.get_rootFolder();
       context.load(rootFolder, 'ServerRelativeUrl');
       context.executeQueryAsync(
       function (sender, args) {
           //error
           var url = rootFolder.get_serverRelativeUrl();
           console.log(url);
       },
       function (sender, args) {
           console.log('error');
       });
    }
},
function (sender, args) {
     console.log('error');
});

謝謝

發生此錯誤是因為List.RootFolder屬性尚未初始化,因為它未被請求。

為了加載List.RootFolder替換行:

context.load(lists);

這一個:

context.load(lists,'Include(RootFolder)');

但是指定的示例包含另一個缺陷:

下面演示了為所有列表打印根文件夾的固定版本:

var context = SP.ClientContext.get_current();
var lists = context.get_web().get_lists();
context.load(lists,'Include(RootFolder)');
context.executeQueryAsync(function () {
    var enumerator = lists.getEnumerator();
    while (enumerator.moveNext()) {
       var list = enumerator.get_current();
       var rootFolder = list.get_rootFolder();

       var url = rootFolder.get_serverRelativeUrl();
       console.log(url);

    }
},
function (sender, args) {
     console.log('error');
});   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM