2016-07-07 60 views
0

我正在使用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

回答

0

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