/ / ASP.NET Übergabe von JSON-POST-Daten an die Web-API führt zu Nulldaten - jquery, asp.net, json, ajax

ASP.NET Übergeben von Json-POST-Daten an die Web-API Ergebnisse in Nulldaten - jquery, asp.net, json, ajax

ich versuche also, daten aus einem textbereich an meinen apicontroller zu senden und es scheint überhaupt nicht zu funktionieren. Dies ist mein Ajax (wobei value ein String-Array ist):

function doCallback(value)
{
$.ajax({
url: "http://localhost:83048/api/test/function",
type: "POST"
contentType: "application/json"
dataType: "json"
data:
{ urls : JSON.stringify(value) },
success......});
}

Controller:

[HttpPost]
public async Task<List<string>> function(List<string> urls)
{
return await Program.blabla(urls);
}

Die URLs sind immer null, obwohl der im Ajax übergebene Wert nicht null ist (Überprüfung mit dem Debugger).

Eine kleine Hilfe wäre dankbar, weil ich es nicht herausfinden kann, nachdem ich mehr als eine Stunde darüber vergangen bin.

EDIT: Ich habe mehr und mehr versucht zu googeln und es scheint, als würde es immer noch null (wenn es stringiert ist) und nichts, wenn es nicht ist. Dies geschah auch, seit ich den Controller in einen ApiController verwandelt habe. Es hat funktioniert, bevor ich auf den Web Api Controller umgestiegen bin, wenn es helfen kann.

EDIT 2: Versucht alles in den Kommentaren, immer noch nichts funktioniert: /

Antworten:

1 für die Antwort № 1

Ändern der Daten in Daten: JSON.stringify (Wert) hat funktioniert

$.ajax({
url: "http://localhost:83048/api/test/function",
type: "POST"
contentType: "application/json"
dataType: "json"
data: JSON.stringify(value),
success......});
}

Das alles Ärger für .. dam it ahah


0 für die Antwort № 2

Versuchen Sie, Ihre URL-Eigenschaft als Array anzugeben. Sinn statt zu vergehen

{ urls : JSON.stringify(value) }

Pass wie

{ urls : [JSON.stringify(value)] }

Beachten Sie die eckigen Klammern.