Sharepoint 2013 在SharePoint列表中按ID获取多个列表项

Sharepoint 2013 在SharePoint列表中按ID获取多个列表项,sharepoint-2013,Sharepoint 2013,我正在尝试从SharePoint列表中检索列表项,但我的问题是我想按ID检索最后四个项,我不知道如何继续使用JSOM。 有人能帮我翻译一些CAML代码吗 var ctx=new SP.ClientContext.get_current(); var web=ctx.get_web(); //获取对列表的引用 var olist=web.get_list().getByTitle('Configs'); var oitem=olist.getItemById(1); //获取标题、id、Conf

我正在尝试从SharePoint列表中检索列表项,但我的问题是我想按ID检索最后四个项,我不知道如何继续使用JSOM。 有人能帮我翻译一些CAML代码吗

var ctx=new SP.ClientContext.get_current();
var web=ctx.get_web();
//获取对列表的引用
var olist=web.get_list().getByTitle('Configs');
var oitem=olist.getItemById(1);
//获取标题、id、ConfigItem字段
ctx.load(oitem,“标题”、“Id”、“配置项”);
executeQueryAsync(函数(){
警报(oitem.get_项目(“标题”);
警报(oitem.get_项(“配置项”);
},功能(a,b){
警报(b.获取消息());

});您可以将RESTAPI与ORDERBY和$top选项一起用于此需求

/_api/web/lists/getbytitle('chart')/items?$select=ID,Title&$orderby= ID desc&$top=4
RESTAPI获取列表项

$.ajax({
                url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('chart')/items?$select=ID,Title&$orderby= ID desc&$top=4",
                type: "GET",                
                headers:
                {
                    "Accept": "application/json;odata=verbose",
                    "Content-Type": "application/json;odata=verbose"                    
                },                
                success: function (data) {                    
                    for (var i = 0; i < data.d.results.length; i++) {
                        var item = data.d.results[i];
                        //to do
                    }                        
                },
                error: function (data) {
                    console.log(data.responseJSON.error);
                }
            });  
$.ajax({
url:_spPageContextInfo.webAbsoluteUrl+“/_api/web/lists/getbytitle('chart')/items?$select=ID,Title&$orderby=ID desc&$top=4”,
键入:“获取”,
标题:
{
“接受”:“application/json;odata=verbose”,
“内容类型”:“应用程序/json;odata=verbose”
},                
成功:函数(数据){
对于(变量i=0;i
以下是使用的JSOM解决方案

var ctx=new SP.ClientContext.get_current();
var web=ctx.get_web();
var query=new SP.CamlQuery()
query.set_viewXml(“4”)
var list=web.get_list().getByTitle('Configs');
var items=list.getItems(查询“ID”、“Title”、“FirstName”、“LastName”、“Level”、“Grade”、“Date”);
var字典=[];
ctx.荷载(项目);
executeQueryAsync(函数(){
var枚举器=items.getEnumerator();
while(枚举数.moveNext()){
var item=enumerator.get_current();
字典推送({
标题:项目。获取项目(“标题”),
firstName:item.get_item(“firstName”),
lastName:item.get_item(“lastName”),
级别:项目。获取项目(“级别”),
等级:项目。获取项目(“等级”),
日期:项目。获取项目(“日期”),
});
}
},功能(a,b){
警报(b.获取消息());
});

感谢卢卡斯的回答。我还有一个问题:如果列表中有5个项目,共6列(“标题”、“第一名”、“姓氏”、“级别”、“等级”、“日期”),我如何在列表或字典变量中检索这些数据,以便在其他地方使用该列表?@BBogo请参阅更新的答案。如果您觉得我的答案有帮助,请接受我的答案。我无法使用您发送给我的代码从SharePoint列表中检索数据。。。也许少了些什么。我已经在我的SharePoint站点“jsTest.aspx”中创建了一个新页面(.aspx),我想在同一个SharePoint站点“jsTest”中检索列表中的数据。我不知道出了什么问题。。。如果遗漏了什么,请你提供完整的代码给我好吗?非常感谢您的支持Yes Lukas,事实上我想从“jsTest”列表中检索数据,包括这些列(“标题”、“名字”、“姓氏”、“级别”、“等级”、“日期”),将它们存储在字典变量中,并使用javascript在同一sharepoint中的html页面中显示。请帮忙!由于我是SharePoint的新手,我可以一步一步详细介绍如何在我的ShairePoint网站中使用上述代码吗?你好,李,谢谢你的支持。我可以直接使用这个代码吗?或者有一些其他代码要添加到文件中?因为我是JavaScript的初学者,在这个文件上还有什么其他的事情要做吗?我能有一个关于如何在我的ShairePoint网站上使用这个代码的详细步骤吗?
var ctx = new SP.ClientContext.get_current();
var web = ctx.get_web();

var query = new SP.CamlQuery()
query.set_viewXml("<View><Query><OrderBy><FieldRef Name='ID' Ascending='FALSE' /></OrderBy></Query><RowLimit>4</RowLimit></View>")

var list = web.get_lists().getByTitle('Configs');
var items = list.getItems(query, "ID", "Title", "FirstName", "LastName", "Level", "Grade", "Date");
var dictionary = [];

ctx.load(items);
ctx.executeQueryAsync(function () {
    var enumerator = items.getEnumerator();
    while (enumerator.moveNext()) {
        var item = enumerator.get_current();
        dictionary.push({
            title: item.get_item("Title"),
            firstName: item.get_item("FirstName"),
            lastName: item.get_item("LastName"),
            level: item.get_item("Level"),
            grade: item.get_item("Grade"),
            date: item.get_item("Date"),
        });
    }
}, function (a, b) {
    alert(b.get_message());
});