我需要从公告列表中获取所有项目并使用滑块显示每个项目。对于滑动,我正在使用JQuery.我在获取所有项目并逐个显示时遇到问题。我使用了下面的代码。
function Fetchdata() {
var ctx = new SP.ClientContext(appWebUrl);//Get the SharePoint Context object based upon the URL
var appCtxSite = new SP.AppContextSite(ctx, hostWebUrl);
var web = appCtxSite.get_web();
var list = web.get_lists().getByTitle("Announcement");
var camlQuery = new SP.CamlQuery();
//camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name='Title'/>' +
// '<Value Type='Text'>Annoucement1</Value></Geq></Where></Query><RowLimit>10</RowLimit></View>');
collListItem = list.getItems(camlQuery);
ctx.load(collListItem);
ctx.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 += oListItem.get_item('Title');
listItemInfo += oListItem.get_item('Body');
}
document.getElementById('body1').innerHTML = listItemInfo.toString();
alert(listItemInfo);
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());
}
阅读公告列表项在 MSDN 中演示 (http://msdn.microsoft.com/en-us/library/office/hh185007(v=office.14).aspx)。您的代码大多看起来像 MSDN 示例代码段 - 应该可以工作。
- 确保您使用的是 SharePoint 网站的正确 URL
- 确保在JS代码中拼写正确的列表名称。
如果上述两个都已经正确,请尝试在 VS 或 Chrome 调试器中调试您的代码。
我已经找到了上述问题的解决方案
enter code here
函数 Fetchdata() { var ctx = new SP。ClientContext(appWebUrl);//Get the SharePoint Context object based based the
URL var appCtxSite = new SP。AppContextSite(ctx, hostWebUrl); var web = appCtxSite.get_web(); var list = web.get_lists().getByTitle("Notice");
//var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml('' + "公告110"); collListItem = list.getItems(");
ctx.load(collListItem);
ctx.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo1 = new Array();
var listItemInfo2 = new Array();
var listItemInfo3 = new Array();
var itemCount = 0;
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo1[itemCount] = oListItem.get_item('Title');
//alert(listItemInfo1);
listItemInfo2[itemCount] = oListItem.get_item('Body');
listItemInfo3[itemCount]= oListItem.get_item('Images').get_url();
itemCount++;
// alert(itemCount);
}
for (var i in listItemInfo1) {
var parent = $('#announcement_slider');
//Create a div
var p1 = document.createElement('div');
parent.append(p1);
var images = document.createElement('img');
$(images).attr('src', listItemInfo3[i]);
$(images).attr('class', 'left mrg_right_10');
var spanTag = document.createElement('span');
var spanTag1 = document.createElement('span');
// alert(listItemInfo3[i]);
//alert(listItemInfo3[i]);
spanTag.innerHTML = listItemInfo1[i].toString();
spanTag1.innerHTML = listItemInfo2[i].toString();
p1.appendChild(images);
p1.appendChild(spanTag);
p1.appendChild(spanTag1);
}
$('#announcement_slider').slidesjs({
height: 50,
play: {
active: true,
auto: true,
interval: 6000,
swap: true
},
navigation: {
active: false
}
});
}
函数 onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());
}