2016-12-01 3 views
0

ich eine Sharepoint-Liste mit einer Reihe von field.I habe ist mit Javascript, um die Liste Beitrag von wie folgt vorgehen:Sharepoint Online, ein Element zu einer Liste mit Elementfeld POSTen

$.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"); 
    } 
}); 

Und das funktioniert wunderbar. Das Problem ist, dass einer meiner Felder, wenn ich Postbote verwenden ist likeso:

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

Also dachte ich, meine JSON wie so wäre:

{"__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"} 

Aber das schlägt mit dem folgenden Fehler:

Eine Sammlung wurde ohne die Eigenschaft 'results' gefunden. In OData muss jede Sammlung als JSON-Objekt mit einer Eigenschaft 'results' dargestellt werden.

Es hat nichts damit zu tun, wie ich POST bin, als wenn ich das Feld lösche, es funktioniert, aber ich brauche dieses Feld für einen Workflow gefüllt, der bei der Erstellung von Artikeln beginnt.

Wie soll mein JSON formatiert werden, um das Länderfeld zu bearbeiten? Ich habe versucht ein grundlegendes "Sst_Country_mc": "Spanien" auch und das hat nicht funktioniert.

Antwort

1

Sst_Country_mc Unter der Annahme, ist ein Auswahlfeld gesetzt mehreren Auswahlen ermöglichen ...

In Ihrer REST Datennutzlast, dass Feld sollte im Format eines Objekts sein, mit einer Eigenschaft namens „Ergebnisse“ die sollte ein Array von String-Werten enthalten.

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

Ihre letzte Datennutzlast könnte wie folgt aussehen:

{ 
    "__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" 
} 
Verwandte Themen