1

下面的代碼是爲我工作的罰款時,包含元數據的文件是不是一個文件夾內的文件夾中檢索元數據。只要將文檔放入文檔庫中的文件夾中,它就會在while (enumerator.moveNext()) {之後停止工作我已將console.log放在代碼中的單獨行中,這就是我停止獲得響應的時刻。無法從SharePoint中的文檔中的JavaScript客戶端對象模型

我已經創建了一個名爲viewitem.aspx新dispform.aspx,和這個js文件鏈接到它拉出來的元數據,並在頁面上不同的申報單顯示。

下面

是代碼:

function getBody() { 
    var context = new SP.ClientContext("https://xxx.sharepoint.com/sites/xxx"); 
    var list = context.get_web().get_lists().getByTitle('Docs'); 
    JSRequest.EnsureSetup(); 
    var listItemId = GetUrlKeyValue("ID"); 
    var item = new SP.CamlQuery(); 
    item.set_viewXml("<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>" + listItemId + "</Value></Eq></Where></Query></View>"); 
    returnedItemsBE1 = list.getItems(item); 
    context.load(returnedItemsBE1); 
    context.executeQueryAsync(onSucceededCallbackBE1); 
     } 
     function onSucceededCallbackBE1() { 
      var enumerator = returnedItemsBE1.getEnumerator(); 
      while (enumerator.moveNext()) { 
       var listItem = enumerator.get_current(); 
       var tmbod = listItem.get_item('TmBody'); 
       var tmfile = listItem.get_item('TmAttachmentTitle'); 
       var tmId = listItem.get_item('TmTransID'); 
       var tmfileurl = 'https://xxx.sharepoint.com/sites/xxx/Docs/'+tmId+'_'+tmfile; 
       document.getElementById("fileLink").href = tmfileurl; 
       document.getElementById("fileLink").innerText = tmfile ;          
       var bdiv = document.getElementById("bodyDiv"); 
       bdiv.innerHTML = tmbod; 
        }           
       }        

`

我使用SharePoint 2013在網上,我無法找出一個文件夾中作爲項目如何能夠使任何差異,則URL變化但它仍包含該文件ID等等

我已經搜查,搜查,並不能找到這個任何引用,任何幫助,將不勝感激!

回答

0

嘗試在您中使用Scope='Recursive'View標記。否則,它只會獲取給定目錄中的文件。

item.set_viewXml("<View Scope='Recursive'><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>" + listItemId + "</Value></Eq></Where></Query></View>"); 

有四種視圖範圍:

  • 默認值(無範圍):檢索當前文件夾中的所有文件

  • 全部:檢索當前文件夾中的文件和文件夾

  • 遞歸:檢索當前文件夾及其子文件夾及其子文件夾中的文件等。

  • RecursiveAll:與遞歸相同,但也檢索子文件夾。

我發現這個handy page如果一個視覺解釋對你更好。

+0

輝煌,謝謝! – OllieSP

相關問題