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; 

     }); 
    }); 
}); 

下面是一个类似的帖子:https://sharepoint.stackexchange.com/questions/147909/some-fields-undefined-when-display-results-from-rest-query

您可能需要明确要求使用$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的答案。