Sharepoint - REST API查询结果未定义
问题描述:
我正在使用REST/JS调用来填充某个列表项中的某些字段。我有麻烦抓取一些领域,因为他们显示结果时显示为未定义。不过,我注意到,显示为未定义的字段是类型:查找,人员或组或选择。显示的类型是单行文本,日期和时间以及数字。我已经通过文章看过文章,但一直未能弄清楚。这里是一个剪掉它的一些代码,我说的是:Sharepoint - REST API查询结果未定义
$(function() {
$.ajax({
url: "__URL__/_api/lists/getbytitle('Master%20Project%20List')/items?&$filter=Number eq '" + projectId + "'",
headers: {"Accept": "application/json;odata=verbose"},
type: "GET",
cache: false,
async: false,
}).success(function (data) {
$.each(data.d.results, function(key, value) {
//Project Title
console.log("TEST TITLE - " + value.Title);
Title = "*" + value.Title;
//Project Divison
console.log("TEST DIVISION - " + value.Div);
division = "*" + value.Div;
});
});
});
答
您可能需要明确要求使用$select
和$expand
选项中选择所需的字段值。
$expand
选项特定于返回从联接列表中投影字段的选项。
由吉姆·克劳利和Ricky Kirkham的考虑从SharePoint 2013 - Understanding the SharePoint 2013 REST Interface以下摘录:
当SharePoint列表中有一个查找字段到另一个列表中,这有效地作为连接这两个列表。您可以使用
$expand
选项返回加入列表中的投影字段。您通过引用列在国外列表_api/web/lists/getByTitle( 'Books')/items?$select=Title,PublishedBy/Name&$expand=PublishedBy
注:例如,如果书籍列表中有一个
PublishedBy
领域中查找到发布列表的Name
场,你可以用这个URL返回那些名字使用语法lookup_column_display_name/foreign_column_name
,而不是foreign_list_name/foreign_column_name
。同样重要的是要注意,如果不扩展它,则不能选择查找字段名称。
有关更多示例,请参阅在SharePoint Stack Exchange站点上给出this question的答案。