Heim > Backend-Entwicklung > C++ > Wie übergebe ich mithilfe von jQuery Ajax ordnungsgemäß ein Array von Objekten an einen MVC-Controller?

Wie übergebe ich mithilfe von jQuery Ajax ordnungsgemäß ein Array von Objekten an einen MVC-Controller?

Susan Sarandon
Freigeben: 2025-01-21 17:21:10
Original
979 Leute haben es durchsucht

How to Properly Pass an Array of Objects to an MVC Controller Using jQuery Ajax?

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:

  1. Inhaltstyp und Datentyp festlegen:

    Die ajax()-Funktion erfordert explizite contentType- und dataType-Einstellungen:

    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    Nach dem Login kopieren
  2. JSON-Serialisierung:

    Das Array von Objekten muss mit JSON.stringify() in das JSON-Format serialisiert werden. Strukturieren Sie die Daten wie folgt:

    things = JSON.stringify({ things: things });
    Nach dem Login kopieren

Anschauliches Beispiel

Dieses Beispiel zeigt, wie ein Array von Objekten erfolgreich übergeben wird:

$(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
        }
    });
});
Nach dem Login kopieren

Entsprechende Controller-Methode (C#-Beispiel):

public void PassThings(List<Thing> things)
{
    // Process the 'things' list here
}
Nach dem Login kopieren

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 nullWertproblem.

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage