POST-Anfrage über WebProxy mit JSON-Daten
-
30-09-2020 - |
Frage
Ich möchte über den WebProxy eine POST-Anforderung mit JSON-Daten an eine REST-API senden.Dazu stelle ich eine Anfrage wie:
$.ajax({
url: "../_api/SP.WebProxy.invoke",
type: "POST",
data: JSON.stringify(
{
"requestInfo": {
"__metadata": { "type": "SP.WebRequestInfo" },
"Url": someURL,
"Method": "POST",
"Headers": {
"results": [{
"__metadata": { "type": "SP.KeyValue" },
"Key": "Accept",
"Value": "application/json;odata=verbose",
"ValueType": "Edm.String"
}]
},
"Body": json
}
}),
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
});
Jetzt ist meine Frage, wo muss ich meine JSON-Daten ablegen?Das Datenelement der Anfrage scheint für die Anfrage an den Webproxy zu sein.Ich denke, ich muss die Daten innerhalb der "inneren" Anfrage senden, aber mit dem body-Element funktioniert es nicht.
Lösung
Fügen Sie Content-Type
mit application/json
zum Ergebnis-Array der Header hinzu (wie bei Accept
), wie folgt:
results: [{
__metadata: {
type: "SP.KeyValue"
},
Key: "Accept",
Value: "application/json",
ValueType: "Edm.String"
}, {
__metadata: {
type: "SP.KeyValue"
},
Key: "Content-Type",
Value: "application/json",
ValueType: "Edm.String"
}]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange