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

相关问题