簡體   English   中英

使用javascript在sharepoint中獲取文檔集路徑

[英]Get document set path in sharepoint using javascript

在在線共享點上,我有一個文檔 (id=123)。 該文檔位於使用 javascript 的文檔集中。 當我嘗試查找該文檔集的路徑時,出現錯誤。

我的代碼是:

var item;
var folder;

ExecuteOrDelayUntilScriptLoaded(editLinks, "sp.js");

function editLinks()
{
     getItemParent(123);
}

function getItemParent(itemID)
{
    var clientContext = new SP.ClientContext(); 

    var web = clientContext.get_web();
    var targetList = web.get_lists().getByTitle([List Name]);
    item = targetList.getItemById(itemID);
    clientContext.load(item, 'DisplayName');
    clientContext.load(item, 'Folder');
    folder = item.get_folder();
    clientContext.load(folder);
    clientContext.executeQueryAsync(
        Function.createDelegate(this, this.onQuerySucceeded), 
        Function.createDelegate(this, this.onQueryFailed));

}

function onQuerySucceeded(sender, args) {   
    console.log(item.get_displayName());
    console.log(folder.get_serverRelativeUrl());
}

function onQueryFailed() {   
    console.log("Query Failed");
}

當我運行它時,item.get_displayName() 工作正常,但在嘗試獲取 serverRelativeUrl 時拋出以下錯誤:

sp.runtime.js:2 Uncaught Error: Object reference not set to an instance of an object on server. The object is associated with property Folder.

這是我的測試腳本供您參考。

<script type="text/javascript">
        var item;
        //var folder;

        ExecuteOrDelayUntilScriptLoaded(editLinks, "sp.js");

        function editLinks() {
            getItemParent(6);
        }

        function getItemParent(itemID) {
            var clientContext = new SP.ClientContext();

            var web = clientContext.get_web();
            var targetList = web.get_lists().getByTitle("LibDS");
            item = targetList.getItemById(itemID);
            //folder = item.get_folder();
            clientContext.load(item);
            //clientContext.load(item, 'DisplayName');
            //clientContext.load(item, 'Folder');            
            //clientContext.load(folder);
            clientContext.executeQueryAsync(
                Function.createDelegate(this, this.onQuerySucceeded),
                Function.createDelegate(this, this.onQueryFailed));

        }

        function onQuerySucceeded(sender, args) {
            console.log(item.get_fieldValues("FileDirRef").FileDirRef);
            //console.log(folder.get_serverRelativeUrl());
        }

        function onQueryFailed() {
            console.log("Query Failed");
        }
    </script>

在此處輸入圖像描述

暫無
暫無

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

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