私はこのエラーやさまざまな解決策に精通していますが、これには頭を悩ませています。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(){ //その他のコード... ExecuteorDelayUntilScriptLoaded(getFilesInFolder,"sp.js"); });
私はこれについて多くのバリエーションを試しましたが、以前は機能していました(サーバー側またはクライアント側のどちらが変更されたのかわかりません)。