Javascript 正在获取SharePoint列表中的所有项目
我需要从公告列表中获取所有项目,并使用滑块显示每个项目。对于滑动,我使用JQuery。我在获取所有项目并逐个显示时遇到问题。我使用了以下代码Javascript 正在获取SharePoint列表中的所有项目,javascript,jquery,sharepoint-apps,Javascript,Jquery,Sharepoint Apps,我需要从公告列表中获取所有项目,并使用滑块显示每个项目。对于滑动,我使用JQuery。我在获取所有项目并逐个显示时遇到问题。我使用了以下代码 function Fetchdata() { var ctx = new SP.ClientContext(appWebUrl);//Get the SharePoint Context object based upon the URL var appCtxSite = new SP.AppContex
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());
}
函数Fetchdata(){
var ctx=new SP.ClientContext(appWebUrl);//根据URL获取SharePoint上下文对象
var appCtxSite=new SP.AppContextSite(ctx,hostWebUrl);
var web=appCtxSite.get_web();
var list=web.get_list().getByTitle(“公告”);
var camlQuery=new SP.camlQuery();
//camlQuery.set_viewXml(“”+
//"安诺",;
collListItem=list.getItems(camlQuery);
ctx.负载(列示项目);
ctx.executeQueryAsync(Function.createDelegate(this,this.onquerySucceed),
Function.createDelegate(this,this.onQueryFailed));
}
函数onquerysucceed(发送方,参数){
var listItemInfo='';
var listItemEnumerator=collListItem.getEnumerator();
while(listItemEnumerator.moveNext()){
var oListItem=listItemEnumerator.get_current();
listItemInfo+=oListItem.get_项目(“标题”);
listItemInfo+=oListItem.get_项('Body');
}
document.getElementById('body1').innerHTML=listItemInfo.toString();
警报(listItemInfo);
}
函数onQueryFailed(发送方,参数){
警报('请求失败。'+args.get_message()+'\n'+args.get_stackTrace());
}
高阅读公告列表项在MSDN()中演示。您的代码大部分看起来像MSDN示例片段,应该可以工作
如果以上两种方法都已正确,请尝试在VS或Chrome调试器中调试代码。我已找到解决上述问题的方法
enter code here
函数Fetchdata(){
var ctx=new SP.ClientContext(appWebUrl);//根据URL获取SharePoint上下文对象var appCtxSite=new SP.AppContextSite(ctx,hostWebUrl); var web=appCtxSite.get_web(); var list=web.get_list().getByTitle(“公告”) //var camlQuery=new SP.camlQuery(); //camlQuery.set_viewXml(“”+ //"安诺",; collListItem=list.getItems(“”) } 函数onquerysucceed(发送方,参数){ 函数onQueryFailed(发送方,参数){
}我已经尝试过,只会显示列表,因为我使用的是上述代码。我认为您错误地使用了AppContextSite。如果您在AppWeb中使用此代码并试图从主机web读取列表,您可以尝试使用SP.RequestExecutor.js。请在此处阅读MSDN中的详细信息:
ctx.load(collListItem);
ctx.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
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
}
});
}
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());