我对这个错误或各种解决方案并不陌生,但这个让我摸不着头脑。我正在使用 JavaScript 对象模型来获取给定文件夹中所有文件的所有列表。我在下面的代码中得到关于 getEnumerator 的错误。我已将代码精简到最低限度:
function getFilesInFolder() {
var folderServerRelativeUrl = folderPath + ID;
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle(documentLibraryName);
var query = SP.CamlQuery.createAllItemsQuery();
query.set_folderServerRelativeUrl(folderServerRelativeUrl);
//Update "web part" link
$("#doclink").attr('href',folderServerRelativeUrl);
files = list.getItems(query)
context.load(files, 'Include(Id)');
context.executeQueryAsync(Function.createDelegate(this, this.OnSuccess), Function.createDelegate(this, this.OnFailure));
}
function OnSuccess()
{
//ERROR Next Line:
var listItemEnumerator = this.files.getEnumerator();
var table = $("#attachments");
while (listItemEnumerator.moveNext())
{
console.log("Found a file");
}
}
代码在文件开头这样调用: $(document).ready(function(){ //Other code... ExecuteorDelayUntilScriptLoaded(getFilesInFolder,"sp.js"); });
我已经尝试了很多变体,并且它曾经可以工作(不确定是什么改变了服务器或客户端)。