您好,我尝试使用特定字段填充数组。但我总是得到:属性或字段尚未初始化。尚未请求或请求尚未执行。可能需要明确请求。
我使用的是 Sharepoint 2013,并且使用来自 sharepoint 的内部名称。我认为我的 Caml 查询有问题。
这是我使用的代码:
function retrieveListItems(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('MatrixFiles');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><ViewFields><FieldRef Name="LinkFilename" /><FieldRef Name="WebCountry" /><FieldRef Name="WebDepartment" /><FieldRef Name="FileLeafRef" /></ViewFields><Query><OrderBy><FieldRef Name="LinkFilename" /></OrderBy></Query></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
这是数组的另一部分:
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var array = [];
var listItemEnumerator = this.collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem);
array.push(oListItem);
}
alert(oListItem.get_item('LinkFilename'));
}
奇怪的是,数组被 SPListItems 填充,但是当我尝试在警报中使用特定字段时,就会发生错误。不知道为什么......
任何帮助都会很棒,谢谢您的时间。
顺便说一句,我用了SP Caml Query helper为此。
最佳答案
尝试使用FileLeafRef。 LinkFilename 是一个不起作用的计算字段。
关于javascript - 为什么我总是得到属性或字段尚未初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601388/