Javascript 访问SharePoint文档库中的多个文件夹并在网页上显示其内容
我可以访问SharePoint文档库中的单个文件夹,并在网页上显示其内容。我可以访问同一SharePoint文档库中的第二个(不同)文件夹并显示其内容。我知道如何实现这一点的唯一方法是复制脚本,并将脚本放在各自独立的函数中。我通过回调函数调用其中一个函数。下面是我正在做的脚本 我所使用的过程会产生一些零散的结果,有时是在工作中;这意味着有时会显示其中一个文件夹的内容,有时会显示两个文件夹的内容,这是命中或未命中。是否有更好的方法可以实现这一目标并获得一致的结果;始终在网页上显示两个文件夹的内容。任何帮助都将不胜感激 我正在使用的脚本:Javascript 访问SharePoint文档库中的多个文件夹并在网页上显示其内容,javascript,sharepoint,Javascript,Sharepoint,我可以访问SharePoint文档库中的单个文件夹,并在网页上显示其内容。我可以访问同一SharePoint文档库中的第二个(不同)文件夹并显示其内容。我知道如何实现这一点的唯一方法是复制脚本,并将脚本放在各自独立的函数中。我通过回调函数调用其中一个函数。下面是我正在做的脚本 我所使用的过程会产生一些零散的结果,有时是在工作中;这意味着有时会显示其中一个文件夹的内容,有时会显示两个文件夹的内容,这是命中或未命中。是否有更好的方法可以实现这一目标并获得一致的结果;始终在网页上显示两个文件夹的内容。
memoColumn(regColumn);
//左列列表
职能(法规){
jQuery(文档).ready(函数(){
var scriptbase=_spPageContextInfo.webServerRelativeUrl+“/_layouts/15/”;
$.getScript(scriptbase+“SP.Runtime.js”,函数(){
$.getScript(scriptbase+“SP.js”,函数(){
$.getScript(scriptbase+“SP.DocumentManagement.js”,createDocumentSet);
});
});
});
var文件;
函数createDocumentSet(){
//获取客户端上下文、web和库对象。
clientContext=new SP.clientContext.get_current();
oWeb=clientContext.get_web();
var oList=oWeb.get_lists().getByTitle(“遗留_DSS_文件”);
clientContext.load(oList);
//获取库的根文件夹
oLibraryFolder=oList.get_rootFolder();
var documentSetFolder=“/sites/dcsa/ep/Legacy_DSS/Memos”;
//使用CAML查询获取文档集文件
var camlQuery=SP.camlQuery.createAllItemsQuery();
camlQuery.set_folderServerRelativeUrl(documentSetFolder);
docSetFiles=oList.getItems(camlQuery);
//加载客户端上下文并执行批处理
load(docSetFiles,'Include(File)');
executeQueryAsync(QuerySuccess,QueryFailure);
}
函数QuerySuccess(){
var csv='文档名称、URL名称、创建日期、修改日期\n';
var docSetFilesEnumerator=docSetFiles.getEnumerator();
while(docSetFilesEnumerator.moveNext()){
var oDoc=docSetFilesEnumerator.get_current().get_file();
csv+=oDoc.get_name()+','+'https://intelshare.intelink.gov“+oDoc.get_serverRelativeUrl()+”、“+oDoc.get_timeCreated()+”、“+oDoc.get_timeLastModified();//如果有更多克隆
csv+=“\n”;
var link=document.getElementById(“prvMinutes1”);
link.innerHTML+='
;
}
}
函数QueryFailure(){
console.log('请求失败-'+args.get_message());
}
条例();
}///备忘录列结束函数
//右列列表
函数regColumn(){
jQuery(文档).ready(函数(){
var scriptbase=_spPageContextInfo.webServerRelativeUrl+“/_layouts/15/”;
$.getScript(scriptbase+“SP.Runtime.js”,函数(){
$.getScript(scriptbase+“SP.js”,函数(){
$.getScript(scriptbase+“SP.DocumentManagement.js”,createDocumentSet);
});
});
});
var文件;
函数createDocumentSet(){
//获取客户端上下文、web和库对象。
clientContext=new SP.clientContext.get_current();
oWeb=clientContext.get_web();
var oList=oWeb.get_lists().getByTitle(“遗留_DSS_文件”);
clientContext.load(oList);
//获取库的根文件夹
oLibraryFolder=oList.get_rootFolder();
var documentSetFolder=“/sites/dcsa/ep/Legacy_DSS/Regulations”;
//使用CAML查询获取文档集文件
var camlQuery=SP.camlQuery.createAllItemsQuery();
camlQuery.set_folderServerRelativeUrl(documentSetFolder);
docSetFiles=oList.getItems(camlQuery);
//加载客户端上下文并执行批处理
load(docSetFiles,'Include(File)');
executeQueryAsync(QuerySuccess,QueryFailure);
}
函数QuerySuccess(){
var csv='文档名称、URL名称、创建日期、修改日期\n';
var docSetFilesEnumerator=docSetFiles.getEnumerator();
while(docSetFilesEnumerator.moveNext()){
var oDoc2=docSetFilesEnumerator.get_current().get_file();
csv+=oDoc2.get_name()+','+'https://intelshare.intelink.gov“+oDoc2.get_serverRelativeUrl()+”、“+oDoc2.get_timeCreated()+”、“+oDoc2.get_timeLastModified();//如果有更多克隆
csv+=“\n”;
var link2=document.getElementById(“prvMinutes2”);
link2.innerHTML+='
;
}
}
函数QueryFailure(){
console.log('请求失败-'+args.get_message());
}
}///结束规则列功能
我建议您使用RESTAPI来实现它。以下代码供您参考
<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
getFilesFromFolder("/sites/dcsa/ep/Legacy_DSS/Memos").done(function(data){
$.each(data.d.results,function(i,item){
$("#prvMinutes1").append('<li class="linkData" style="padding-left: 10px; padding-right: 10px;"><a href="' + 'https://intelshare.intelink.gov' + item.ServerRelativeUrl + '" target="_blank">' + item.Name.replace(/\.[^/.]+$/, "") + '</a></li><br>');
});
});
getFilesFromFolder("/sites/dcsa/ep/Legacy_DSS/Regulations").done(function(data){
$.each(data.d.results,function(i,item){
$("#prvMinutes2").append('<li class="linkData" style="padding-left: 10px; padding-right: 10px;"><a href="' + 'https://intelshare.intelink.gov' + item.ServerRelativeUrl + '" target="_blank">' + item.Name.replace(/\.[^/.]+$/, "") + '</a></li><br>');
});
});
})
function getFilesFromFolder(serverRelativeUrlToFolder){
return $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFolderByServerRelativeUrl('"+serverRelativeUrlToFolder+"')/files",
method: "GET",
async:false,
headers: { "Accept": "application/json; odata=verbose" }
});
}
</script>
<div>
<ul id="prvMinutes1"></ul>
<ul id="prvMinutes2"></ul>
</div>
$(函数(){
getFilesFromFolder(“/sites/dcsa/ep/Legacy_DSS/Memos”)。完成(函数(数据){
$每个(数据、结果、功能(i、项目){
$(“#prvMinutes1”).append(”
”);
});
});
getFilesFromFolder(“/sites/dcsa/ep/Legacy_DSS/Regulations”)。完成(函数(数据){
$每个(数据、结果、功能(i、项目){
$(“#prvMinutes2”).append(”
”);
});
});
})
函数getFilesFromFolder(serverRelativeUrlToFolder){
返回$.ajax({
url:_spPageContextInfo.webAbsoluteUrl+“/_api/web/GetFolderByServerRelativeUrl(“+serverRelativeUrlToFolder+”)/files”,
方法:“获取”,
async:false,
标题:{“接受”:“应用程序/json;odata=verbose”}
});
}
参考
<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
getFilesFromFolder("/sites/dcsa/ep/Legacy_DSS/Memos").done(function(data){
$.each(data.d.results,function(i,item){
$("#prvMinutes1").append('<li class="linkData" style="padding-left: 10px; padding-right: 10px;"><a href="' + 'https://intelshare.intelink.gov' + item.ServerRelativeUrl + '" target="_blank">' + item.Name.replace(/\.[^/.]+$/, "") + '</a></li><br>');
});
});
getFilesFromFolder("/sites/dcsa/ep/Legacy_DSS/Regulations").done(function(data){
$.each(data.d.results,function(i,item){
$("#prvMinutes2").append('<li class="linkData" style="padding-left: 10px; padding-right: 10px;"><a href="' + 'https://intelshare.intelink.gov' + item.ServerRelativeUrl + '" target="_blank">' + item.Name.replace(/\.[^/.]+$/, "") + '</a></li><br>');
});
});
})
function getFilesFromFolder(serverRelativeUrlToFolder){
return $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFolderByServerRelativeUrl('"+serverRelativeUrlToFolder+"')/files",
method: "GET",
async:false,
headers: { "Accept": "application/json; odata=verbose" }
});
}
</script>
<div>
<ul id="prvMinutes1"></ul>
<ul id="prvMinutes2"></ul>
</div>