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 }); });
その他の注意事項
データ配信を確実に成功させるには:
以上がjQuery Ajax を使用してオブジェクトの配列を MVC コントローラーに正しく渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。