如何使用 JavaScript 检索列表项标题
How to retrieve list items title using JavaScript
我正在尝试检索列表项标题以将其插入我的 SharePoint 主页中的 div 部分,我找到了检索项目 URL.[=12= 的代码]
它工作得很好。
var clientContext = SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle("Artdesk alertes");
var caml = new SP.CamlQuery();
caml.set_viewXml("<View />");
var listItemCollection = list.getItems(caml);
clientContext.load(list, "DefaultDisplayFormUrl");
clientContext.load(listItemCollection);
clientContext.executeQueryAsync(function() {
for(var i in listItemCollection.get_data()) {
console.log( "DispFormRelativeUrl: " + list.get_defaultDisplayFormUrl() + "?ID=" +listItemCollection.get_data()[i].get_id() );
}
}, function(sender, args) {
window.console && console.log(args.get_message());
});
如何使用 JavaScript object 模型获取列表项标题?
检查 get_item('Title') 来自 MSDN:
的代码
function retrieveListItems(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(
'<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' +
'<Value Type=\'Number\'>1</Value></Geq></Where></Query>' +
'<RowLimit>10</RowLimit></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 listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo += '\nID: ' + oListItem.get_id() +
'\nTitle: ' + oListItem.get_item('Title') +
'\nBody: ' + oListItem.get_item('Body');
}
alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
clientContext.load(list, "DefaultDisplayFormUrl");
您在这里请求 "DefaultDisplayFormUrl" 属性。
您可以指定 Title 属性 或仅删除请求特定属性以获取其中的每一个(不推荐 - 您必须仅请求那些您需要减少负载的属性)。
所以它将是 clientContext.load(list, "Title")
或 clientContext.load(list);
clientContext.executeQueryAsync(function() {
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log("List Title", oListItem.get_item('Title'));
}
}, <...>);
请注意,您可以通过 get_item
方法获取任何 属性(但您必须请求加载那个 属性,否则它会抛出异常)。
这是工作代码:
var clientContext = SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle("Artdesk alertes");
var caml = new SP.CamlQuery();
caml.set_viewXml(""); // empty query also works
var listItemCollection = list.getItems(caml);
clientContext.load(listItemCollection); // i requested every property
clientContext.executeQueryAsync(function() {
var listItemEnumerator = listItemCollection.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem.get_item('Title'));
}
}, function(sender, args) {
window.console && console.log(args.get_message());
});
我正在尝试检索列表项标题以将其插入我的 SharePoint 主页中的 div 部分,我找到了检索项目 URL.[=12= 的代码]
它工作得很好。
var clientContext = SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle("Artdesk alertes");
var caml = new SP.CamlQuery();
caml.set_viewXml("<View />");
var listItemCollection = list.getItems(caml);
clientContext.load(list, "DefaultDisplayFormUrl");
clientContext.load(listItemCollection);
clientContext.executeQueryAsync(function() {
for(var i in listItemCollection.get_data()) {
console.log( "DispFormRelativeUrl: " + list.get_defaultDisplayFormUrl() + "?ID=" +listItemCollection.get_data()[i].get_id() );
}
}, function(sender, args) {
window.console && console.log(args.get_message());
});
如何使用 JavaScript object 模型获取列表项标题?
检查 get_item('Title') 来自 MSDN:
的代码function retrieveListItems(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(
'<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' +
'<Value Type=\'Number\'>1</Value></Geq></Where></Query>' +
'<RowLimit>10</RowLimit></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 listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo += '\nID: ' + oListItem.get_id() +
'\nTitle: ' + oListItem.get_item('Title') +
'\nBody: ' + oListItem.get_item('Body');
}
alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
clientContext.load(list, "DefaultDisplayFormUrl");
您在这里请求 "DefaultDisplayFormUrl" 属性。
您可以指定 Title 属性 或仅删除请求特定属性以获取其中的每一个(不推荐 - 您必须仅请求那些您需要减少负载的属性)。
所以它将是 clientContext.load(list, "Title")
或 clientContext.load(list);
clientContext.executeQueryAsync(function() {
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log("List Title", oListItem.get_item('Title'));
}
}, <...>);
请注意,您可以通过 get_item
方法获取任何 属性(但您必须请求加载那个 属性,否则它会抛出异常)。
这是工作代码:
var clientContext = SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle("Artdesk alertes");
var caml = new SP.CamlQuery();
caml.set_viewXml(""); // empty query also works
var listItemCollection = list.getItems(caml);
clientContext.load(listItemCollection); // i requested every property
clientContext.executeQueryAsync(function() {
var listItemEnumerator = listItemCollection.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem.get_item('Title'));
}
}, function(sender, args) {
window.console && console.log(args.get_message());
});