Heim > Backend-Entwicklung > C++ > Wie übergebe ich mit jQuery Ajax ein Array von Objekten korrekt an einen MVC-Controller?

Wie übergebe ich mit jQuery Ajax ein Array von Objekten korrekt an einen MVC-Controller?

DDD
Freigeben: 2025-01-21 17:31:10
Original
536 Leute haben es durchsucht

How to Correctly Pass an Array of Objects to an MVC Controller using jQuery Ajax?

Verwenden Sie jQuery Ajax, um Objektarrays in MVC zu verarbeiten (PassThing()-Methode)

In einer MVC-Anwendung kann die Übergabe eines Arrays von Objekten an eine Controller-Methode mithilfe der ajax()-Funktion von jQuery eine Herausforderung sein. Die PassThing()-Methode erwartet ein Array von Thing-Objekten, das Array wird jedoch als Null übergeben.

Das Problem

Der bereitgestellte Code initialisiert ein Array von Thing-Objekten und versucht, es mithilfe von JSON.stringify() an die PassThing()-Methode zu übergeben. Der Fehler tritt auf, weil das Format der an den Server gesendeten Daten nicht mit dem von der PassThing()-Methode erwarteten Format übereinstimmt.

Lösung

Um dieses Problem zu lösen, verwenden Sie JSON.stringify({ 'things': Things }), um das Array in ein Objekt mit der Eigenschaft „things“ zu konvertieren. Diese Objektstruktur entspricht den von der PassThing()-Methode erwarteten Parametern. Das Folgende ist der geänderte jQuery-Code:

<code class="language-javascript">$(document).ready(function () {
    var things = [
        { id: 1, color: 'yellow' },
        { id: 2, color: 'blue' },
        { id: 3, color: 'red' }
    ];

    things = JSON.stringify({ 'things': things });

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '/Xhr/ThingController/PassThing',
        data: things
    });
});</code>
Nach dem Login kopieren

Weitere Hinweise

Um eine erfolgreiche Datenbereitstellung sicherzustellen:

  • Fügen Sie contentType- und dataType-Einstellungen in die Funktion ajax() ein.
  • Definieren Sie die Thing-Klasse und ihre Eigenschaften im C#-Controller korrekt.
  • Verwenden Sie den Typ List als Parameter der PassThing()-Methode.

Das obige ist der detaillierte Inhalt vonWie übergebe ich mit jQuery Ajax ein Array von Objekten korrekt an einen MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage