2016-12-01 58 views
0

我有一些field.I的SharePoint列表正在使用Javascript執行下列操作張貼到列表:SharePoint Online中過帳項與元素字段列表

$.ajax({ 
    url: "https://my.domain.com/sites/mysite/_api/web/lists/getbytitle('listname')/items", 
    type: "POST", 
    contentType: "application/json;odata=verbose", 
    data: data,//Example WORKING JSON{ '__metadata': { 'type': 'SP.Data.TestListItem' }, 'title': 'Test' }, 
    headers: { 
     "Accept": "application/json;odata=verbose", 
     "Authorization": "Bearer " + token 
    }, 
    success: function (data) { 
     console.log("Success"); 
    }, 
    error: function (data) { 
     console.log("Failure"); 
    } 
}); 

,這是工作奇妙。問題是,我的領域之一,當我使用郵遞員是likeso:

<d:Sst_Country_mc m:type="Collection(Edm.String)"> 
    <d:element>Netherlands</d:element> 
</d:Sst_Country_mc> 

所以我想我的JSON會像這樣:

{"__metadata": {"type": "SP.Data.SST_x0020_Requests_x0020_StagingListItem"},"Title":"Andrew Test 4","Sst_Customer_Name_st":"Customer","Sst_Business_Category_sc":"Finance and Insurance","Sst_Country_mc": {"element":"Spain"},"Sst_Actual_Request_mt":"","Sst_E_Model_1_st":"MODEL","Sst_E_Hardware_Qty_1_ni":"1","Sst_Deadline_Validate_d":"01/01/2017","Sst_Office_sc":"B UK"} 

但這種失敗,出現以下錯誤:

找到了一個沒有「結果」屬性的集合。在OData中,每個集合必須表示爲具有屬性「結果」的JSON對象。

這不是我如何發佈,因爲當我刪除該字段,它的工作原理,但我需要填充這個字段填充項目創建的工作流程。

我應該如何格式化我的JSON來處理country字段?我嘗試了一個基本的「Sst_Country_mc」:「西班牙」也沒有工作。

回答

1

假設Sst_Country_mc是一個選擇字段設置爲允許多選...

在您的REST數據有效載荷,該字段應該是在對象的一個叫做屬性的格式「結果」這應該包含字符串值的數組

"Sst_Country_mc": { 
    "results":["Spain","Netherlands"] 
} 

你最後的數據有效載荷會是這個樣子:

{ 
    "__metadata": {"type": "SP.Data.SST_x0020_Requests_x0020_StagingListItem"}, 
    "Title":"Andrew Test 4", 
    "Sst_Customer_Name_st":"Customer", 
    "Sst_Business_Category_sc":"Finance and Insurance", 
    "Sst_Country_mc": { 
     "results":["Spain","Netherlands"] 
    }, 
    "Sst_Actual_Request_mt":"", 
    "Sst_E_Model_1_st":"MODEL", 
    "Sst_E_Hardware_Qty_1_ni":"1", 
    "Sst_Deadline_Validate_d":"01/01/2017", 
    "Sst_Office_sc":"B UK" 
}