我需要从公告列表中获取所有项目并使用slider来显示每个项目。对于Sliding,我正在使用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());
}
答案 0 :(得分:0)
您好,阅读公告列表项目在MSDN(http://msdn.microsoft.com/en-us/library/office/hh185007(v=office.14).aspx)中演示。您的代码大多看起来像MSDN示例代码段 - 这应该工作。
如果上述两者都已正确,请尝试在VS或Chrome调试器中调试代码。
答案 1 :(得分:0)
我找到了上述问题的解决方案
enter code here
function Fetchdata(){
var ctx = new SP.ClientContext(appWebUrl); //根据URL获取SharePoint Context对象
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(''+ //'Annoucement110'); 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
}
});
}
function onQueryFailed(sender,args){
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}