Übergabe eines Arrays von Objekten an die MVC-Controller-Methode mithilfe von jQuery Ajax
Wenn Sie versuchen, mithilfe der ajax()-Funktion von jQuery ein Array von Objekten an eine Methode eines MVC-Controllers zu übergeben, kann es vorkommen, dass der Parameter „things“ in der Controller-Methode leer ist. Dieses Problem kann auch dann auftreten, wenn List als Parametertyp verwendet wird.
Die Lösung für dieses Problem lautet wie folgt:
<code class="language-javascript">things = JSON.stringify({ 'things': things });</code>
Indem Sie das Array „things“ auf diese Weise in ein JSON-Objekt einbinden, können Sie das Array erfolgreich an die Controller-Methode übergeben.
Der vollständige Code für diese Implementierung lautet wie folgt:
<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: '/Home/PassThings', data: things, success: function () { $('#result').html('"PassThings()" successfully called.'); }, error: function (response) { $('#result').html(response.responseText); // 使用 response.responseText 获取错误信息 } }); });</code>
<code class="language-csharp">public void PassThings(List<Thing> things) { // 处理things数据 } public class Thing { public int Id { get; set; } public string Color { get; set; } }</code>
Bitte beachten Sie zwei wichtige Aspekte dieser Implementierung:
<code class="language-javascript"> contentType: 'application/json; charset=utf-8', dataType: 'json',</code>
<code class="language-javascript"> JSON.stringify({ 'things': things }) ``` 并且在`failure`回调函数中,使用 `response.responseText` 获取服务器返回的错误信息,以更准确地处理错误。 通过以上步骤,您可以确保将对象数组正确地传递给您的MVC控制器。</code>
Das obige ist der detaillierte Inhalt vonWie übergebe ich mit jQuery Ajax erfolgreich ein Array von Objekten an einen MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!