Heim >Backend-Entwicklung >C++ >Wie übergebe ich mithilfe von jQuery Ajax ordnungsgemäß ein Array von Objekten an einen MVC-Controller?
Verwenden von jQuery Ajax zum Senden eines Arrays von Objekten an einen MVC-Controller
Wenn Sie mithilfe der ajax()
-Methode von jQuery ein Array von Objekten an einen MVC-Controller senden, erhält der Parameter des Controllers möglicherweise einen null
-Wert. Dieser Artikel beschreibt die Lösung.
Fehlerbehebung beim Nullwert
Das Problem ist typischerweise auf eine falsche Datenserialisierung und Inhaltstypverarbeitung zurückzuführen. So beheben Sie das Problem:
Inhaltstyp und Datentyp festlegen:
Die ajax()
-Funktion erfordert explizite contentType
- und dataType
-Einstellungen:
<code class="language-javascript">contentType: 'application/json; charset=utf-8', dataType: 'json',</code>
JSON-Serialisierung:
Das Array von Objekten muss mit JSON.stringify()
in das JSON-Format serialisiert werden. Strukturieren Sie die Daten wie folgt:
<code class="language-javascript">things = JSON.stringify({ things: things });</code>
Anschauliches Beispiel
Dieses Beispiel zeigt, wie ein Array von Objekten erfolgreich übergeben wird:
<code class="language-javascript">$(document).ready(function() { const things = [ { id: 1, color: 'yellow' }, { id: 2, color: 'blue' }, { id: 3, color: 'red' } ]; const data = JSON.stringify({ things: things }); $.ajax({ contentType: 'application/json; charset=utf-8', dataType: 'json', type: 'POST', url: '/Home/PassThings', data: data, success: function() { $('#result').html('"PassThings()" successfully executed.'); }, error: function(response) { $('#result').html(response.responseText); // Display error details } }); });</code>
Entsprechende Controller-Methode (C#-Beispiel):
<code class="language-csharp">public void PassThings(List<Thing> things) { // Process the 'things' list here }</code>
Denken Sie daran, /Home/PassThings
durch Ihren tatsächlichen Controller und Ihre Aktion zu ersetzen. Die Verwendung von error
anstelle von failure
bietet eine informativere Fehlerbehandlung. Dieser überarbeitete Ansatz gewährleistet eine ordnungsgemäße Datenübertragung und verhindert das null
Wertproblem.
Das obige ist der detaillierte Inhalt vonWie übergebe ich mithilfe von jQuery Ajax ordnungsgemäß ein Array von Objekten an einen MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!