Javascript getByTitle()未返回Sharepoint列表

Javascript getByTitle()未返回Sharepoint列表,javascript,jquery,ajax,list,sharepoint-2013,Javascript,Jquery,Ajax,List,Sharepoint 2013,我正在尝试使用ajax调用从Jquery获取几个SharePoint2013列表,如下所示 $.ajax({ url: url + "/_api/web/lists/getbytitle('" + listname + "')/items?$top="+maxReturnedRows, method: "GET", async: false, headers: { "Accept": "application/json; odata=verbose" }, success: function (

我正在尝试使用ajax调用从Jquery获取几个SharePoint2013列表,如下所示

$.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items?$top="+maxReturnedRows,
method: "GET",
async: false,
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {

        listArray = data.d.results;         

    },
error: function (data) {
    alert('Error in AJAX-Call to '+listname);
    failure(data);
}
})

其中url包含SharePoint站点的url。 这个电话给了我以下的错误

错误代码:-1,System.Collections.Generic.KeyNotFoundException 错误消息:字典中不存在给定的密钥

JSON响应:-

"{\"error\":{\"code\":\"-1, System.Collections.Generic.KeyNotFoundException\",\"message\":{\"lang\":\"de-DE\",\"value\":\"The given key was not present in the dictionary.\"}}}"
我已尝试使用下面的URL在浏览器中调试该问题

 <baseurl>+ "/_api/web/lists/getbytitle('" + listname + "')
我收到了带有List Metada的XML响应,但如果我尝试使用下面的URL获取该列表的项目

<baseurl> + "/_api/web/lists/getbytitle('" + listname + "')/Items
我得到500个错误,我怀疑是因为同样的问题

作为另一个选项,尝试使用“guid”获取相同的列表,如下所示

    <baseurl>/_api/Web/Lists(guid'xxxxxxxxxxxxxxx')
如果我尝试访问此列表中的项目,则会出现错误500

<baseurl>/_api/Web/Lists(guid'xxxxxxxxxxxxxxx')/Iems
请让我知道,如何解决这个问题


提前感谢

列表有两个名称。首次通过UI创建时,输入的名称将用作根URL和标题。然后可以更改列表的标题,但URL保持不变

以下是PowerShell中创建为Cars2并随后重命名的列表的重命名列表属性的外观:

PS C:\> $calcdemo.lists["Cars for sale"] | select title,rootfolder

Title         RootFolder
-----         ----------
Cars For Sale Lists/Cars2
由于其余的getByTitle使用title属性而不是URL,因此在示例代码中,listname变量必须是Cars for sale,而不是Cars2

此外,如果列表标题包含Unicode字符,则可能需要转义这些字符

url: url + "/_api/web/lists/getbytitle('" + listname + "')/items?$top="+maxReturnedRows,
您应该按guid获取列表项:

例如:

 /_api/web/lists('%7B326038AE-D47E-454D-AAD4-5440E6133EF2%7D')

谢谢你,迈克,谢谢你的回答,我很抱歉,但我想我的问题并不明确。我用更具体的错误更新了问题文本。它是什么类型的列表?您列出的API URL在我的列表和项目中运行良好。你有没有在同一网站的其他列表中测试过它?名单的标题/名称是什么?listname变量是一个简单的字符串吗?没有换行符或其他特殊字符。我有一个SharePoint REST测试员可能会有所帮助:我已经用其他列表进行了测试,它正在为他们工作。这只是它不起作用的两个列表。这些是由模板创建的用户定义的列表。这些列表名标题包含下划线,但我用相同的模板创建了新列表,并尝试只提供更简单的名称文本,没有空格,没有特殊字符,但它仍然不起作用。我注意到,在list empty之前,rest服务不会失败并返回空XML,但一旦我将数据放入list中,它就会出现此错误。可能是列出现了问题。试着只带回一两列,看看这是否有效$选择=标题