ホームページ > バックエンド開発 > C++ > jQuery Ajax を使用してオブジェクトの配列を MVC コントローラーに正しく渡すにはどうすればよいですか?

jQuery Ajax を使用してオブジェクトの配列を MVC コントローラーに正しく渡すにはどうすればよいですか?

DDD
リリース: 2025-01-21 17:31:10
オリジナル
602 人が閲覧しました

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 コードです:

$(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
    });
});
ログイン後にコピー

その他の注意事項

データ配信を確実に成功させるには:

  • ajax() 関数に contentType および dataType 設定を含めます。
  • C# コントローラーで Thing クラスとそのプロパティを正しく定義します。
  • List タイプを PassThing() メソッドのパラメータとして使用します。

以上がjQuery Ajax を使用してオブジェクトの配列を MVC コントローラーに正しく渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート