使用jQuery Ajax在MVC中處理物件陣列(PassThing()方法)
在MVC應用程式中,使用jQuery的ajax()函數將物件陣列傳遞給控制器方法可能具有挑戰性。 PassThing()方法期望一個Thing物件的數組,但該數組以null的形式傳入。
問題所在
提供的程式碼初始化了一個Thing物件的數組,並嘗試使用JSON.stringify()將其傳遞給PassThing()方法。錯誤發生是因為傳送到伺服器的資料格式與PassThing()方法所期望的格式不符。
解
為了解決這個問題,使用JSON.stringify({ 'things': things }) 將陣列轉換為具有「things」屬性的物件。此物件結構與PassThing()方法期望的參數相符。以下是修改後的jQuery程式碼:
<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>
其他注意事項
為了確保資料成功傳遞:
以上是如何使用 jQuery Ajax 正確地將物件陣列傳遞到 MVC 控制器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!