Javascript 正在获取SharePoint列表中的所有项目

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

我需要从公告列表中获取所有项目,并使用滑块显示每个项目。对于滑动,我使用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());
    }
函数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示例片段,应该可以工作

  • 确保您使用的是SharePoint网站的正确URL
  • 确保在JS代码中拼写正确的列表名

  • 如果以上两种方法都已正确,请尝试在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());