首頁 >後端開發 >C++ >如何使用 jQuery Ajax 正確地將物件陣列傳遞到 MVC 控制器?

如何使用 jQuery Ajax 正確地將物件陣列傳遞到 MVC 控制器?

DDD
DDD原創
2025-01-21 17:31:10603瀏覽

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

使用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>

其他注意事項

為了確保資料成功傳遞:

  • 在ajax()函數中包含contentType和dataType設定。
  • 在C#控制器中正確定義Thing類別及其屬性。
  • 使用List型別作為PassThing()方法的參數。

以上是如何使用 jQuery Ajax 正確地將物件陣列傳遞到 MVC 控制器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn