获取SharePoint列表中的所有项目

时间:2014-12-29 07:42:25

标签: javascript jquery sharepoint-apps

我需要从公告列表中获取所有项目并使用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());
    }

2 个答案:

答案 0 :(得分:0)

您好,阅读公告列表项目在MSDN(http://msdn.microsoft.com/en-us/library/office/hh185007(v=office.14).aspx)中演示。您的代码大多看起来像MSDN示例代码段 - 这应该工作。

  1. 确保使用的是SharePoint网站的正确网址
  2. 确保您的列表名称拼写正确的JS代码。
  3. 如果上述两者都已正确,请尝试在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());

}