Javascript 为什么我总是得到未初始化的属性或字段?
您好,我尝试用特定字段填充数组。但我总是得到:Javascript 为什么我总是得到未初始化的属性或字段?,javascript,sharepoint,Javascript,Sharepoint,您好,我尝试用特定字段填充数组。但我总是得到:属性或字段尚未初始化。尚未请求或请求尚未执行。可能需要明确请求。我在Sharepoint 2013上,使用Sharepoint的内部名称。我假设我的Caml查询有问题 以下是我使用的代码: function retrieveListItems(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext
属性或字段尚未初始化。尚未请求或请求尚未执行。可能需要明确请求。
我在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));
}
奇怪的是数组中充满了SPListItems,但当我尝试在警报中使用特定字段时,就会发生错误。不知道为什么
任何帮助都会很好,谢谢你的时间
顺便说一句,我为此使用了。我认为发生此错误是因为尚未加载sp.js脚本 尝试:
另外,这个答案可能会有所帮助:我想发生此错误是因为sp.js脚本尚未加载 尝试:
这个答案也可能有用:尝试使用FileLeafRef。LinkFilename是一个不起作用的计算字段
尝试使用FileLeafRef。LinkFilename是一个不起作用的计算字段
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'));
}
//Insert this right after your opening script tag
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
//then your function as written above
function retrieveListItems(siteUrl) { etc...};