如何使用JavaScript从SharePoint中的列表中提取数据

如何使用JavaScript从SharePoint中的列表中提取数据,javascript,sharepoint,raphael,extraction,Javascript,Sharepoint,Raphael,Extraction,我试图从我的私有Sharepoint中的列表中提取数据,我的列表有3列:ID | PieCography | PieNumber和12个值。我在开发中心找到了这个代码。出于某种原因,即使它看起来很简单,也有一些东西不起作用。我已写信核实: alert('Test'); 这方面都很好,所以我的列表或下面的代码肯定有问题。我并不特别喜欢这段代码,如果有更好/最简单的方法,我会接受!我已经尝试了我在下面编写的其他代码,但没有一个与我编写的当前设置一致 var siteUrl = '/sites/My

我试图从我的私有Sharepoint中的列表中提取数据,我的列表有3列:ID | PieCography | PieNumber和12个值。我在开发中心找到了这个代码。出于某种原因,即使它看起来很简单,也有一些东西不起作用。我已写信核实:

alert('Test');
这方面都很好,所以我的列表或下面的代码肯定有问题。我并不特别喜欢这段代码,如果有更好/最简单的方法,我会接受!我已经尝试了我在下面编写的其他代码,但没有一个与我编写的当前设置一致

var siteUrl = '/sites/MyPersonalSite';
function retrieveListItems() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('pieChart'); 
//This is my list '/sites/MyPersonalSite/Lists/pieChart/AllItems.aspx'

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + 
    '<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>2</RowLimit></View>');
this.collListItem = oList.getItems(camlQuery);
// It was originally set to 10 but moved it to 2 and I have 12 observations so it should be enough

clientContext.load(collListItem);

clientContext.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 += '\nID: ' + oListItem.get_id() + 
        '\nCategory: ' + oListItem.get_item('PieCategory') + 
        '\nValue: ' + oListItem.get_item('PieNumber');
}

alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {

alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
我痛苦地试图实现的第二个代码

function retrieveListItems() {

var clientContext = new SP.ClientContext('/sites/MyPersonalSite');
var oList = clientContext.get_web().get_lists().getByTitle('pieChart');

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Leq>' + 
    '<FieldRef Name=\'ID\'/><Value Type=\'Number\'>10</Value>' + 
    '</Leq></Where></Query><RowLimit>5</RowLimit></View>');

this.collListItem = oList.getItems(camlQuery);

clientContext.load(collListItem, 'Include(ID, PieNumber, PieCategory)');

clientContext.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 += '\nID: ' + oListItem.get_id() + 
        '\nDisplay name: ' + oListItem.get_PieNumber() +
        '\nCategory: ' +oListItem.get_PieCategory();
}

alert(listItemInfo.toString());
}

function onQueryFailed(sender, args) {

alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

我知道C有很多方法可以做到这一点,但我只能在JavaScript上做到这一点,因为我正试图将它从gRaphael推出到一个图表中,并且我试图使它非常简单,以备将来使用。

当使用第二个时,我收到一个已经存在的警报,它说:请求失败:列“PieCegory”不存在。但它确实存在,因此出于某些原因它无法识别。在您第一次尝试查看xml时,请尝试以下视图:12另外,您是否确定PieControle和PieNumber是字段的静态名称?您可以安装Firefox和插件Firebug来检查发送到服务器的请求和响应。您将看到可能的错误消息。另外,来自微软的本机函数很难使用,而且一点也不清楚。你可能想尝试一下,用一个简单的API做这项艰巨的工作。这是静态名称-得到它排序!!非常感谢@Yeygeiny.Chernobrivets