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>
Weitere Hinweise
Um eine erfolgreiche Datenbereitstellung sicherzustellen:
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!