jQuery Ajax を使用してオブジェクトの配列を MVC コントローラー メソッドに渡す
jQuery の ajax() 関数を使用してオブジェクトの配列を MVC コントローラーのメソッドに渡そうとすると、コントローラー メソッドの「things」パラメーターが空である状況が発生することがあります。この問題は、パラメータ タイプとして List を使用している場合でも発生することがあります。
この問題の解決策は次のとおりです:
things = JSON.stringify({ 'things': things });
この方法で「物」配列を JSON オブジェクトでラップすると、配列をコントローラー メソッドに正常に渡すことができます。
この実装の完全なコードは次のとおりです:
$(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 获取错误信息 } }); });
public void PassThings(List<Thing> things) { // 处理things数据 } public class Thing { public int Id { get; set; } public string Color { get; set; } }
この実装の 2 つの重要な側面に注意してください:
contentType: 'application/json; charset=utf-8', dataType: 'json',
JSON.stringify({ 'things': things }) ``` 并且在`failure`回调函数中,使用 `response.responseText` 获取服务器返回的错误信息,以更准确地处理错误。 通过以上步骤,您可以确保将对象数组正确地传递给您的MVC控制器。
以上がjQuery Ajax を使用してオブジェクトの配列を MVC コントローラーに正常に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。