Dies ist mein clientseitiger Ajax-Aufruf:
%Vor%Dies ist der Chrome-Netzwerk-Header:
%Vor%Formular-Dataview-URL codiert
%Vor%Das ist meine Webapi-Controller-Methode:
%Vor%Ergebnis:
Beim Debuggen gibt der Datenparameter in UpdateStatusToDelete {string[0]}
anstelle von Daten zurück: a
Daten: b
Daten: c
Daten: d
Was mache ich falsch? Jede Hilfe wird wirklich geschätzt.
Um einfache Typen übergeben zu können, müssen die zu puffernden Daten die Form eines Namenswertpaares haben, wobei der Namensbereich eine leere Zeichenfolge ist. Also müssen Sie den Ajax-Aufruf wie folgt machen:
%Vor%Ergänzen Sie zusätzlich in Ihrer Web-API-Aktion das Attribut [FromBody] mit einem Kommentar. Etwas wie:
%Vor%Das sollte den Trick machen.
Im Backend könnten Sie FormDataCollection.GetValues(string key)
verwenden, um ein Array von Strings für diesen Parameter zurückzugeben.
Verwenden Sie die obige Methode, um das Array zu senden, wie von cris in Ihrem jquery ajax-Aufruf vorgeschlagen. JSON-Daten befinden sich normalerweise im Schlüsselwertpaar.
%Vor%Sie können dies auch mit einem zweidimensionalen Array
erreichenZusätzlich dazu im Webapi-Projekt.
Erstellen Sie unter dem models-Ordner Ihres Web-API-Projekts eine Klassendatei. Möglicherweise class1.cs .
Erstellen Sie 4 Eigenschaften
%Vor%Mach das jetzt in deinem Controller
%Vor%Ich bin sicher, das wird funktionieren.
Tags und Links asp.net-web-api javascript c# ajax post