次のような多次元配列として要素名を持つフォームがあります
<form method="post" id="formDealOptions" name="formDealOptions">
<table>
<tr class="dealOptionRow saved">
<td>
<input type="text" name="dealOptionsGroup[1][dealOptionName]" value="dealOptionName1">
</td>
<td>
<input type="text" name="dealOptionsGroup[2][dealOptionName]" value="dealOptionName2">
</td>
</tr>
</table>
</form>
通常のフォーム送信を使用してこのフォームを投稿すると、 $_POST 配列は次のようになります
Array(
'dealOptionsGroup' => Array( '1' => Array('dealOptionName' => dealOptionName1 )
'2' => Array('dealOptionName' => dealOptionName1 )
)
)
これは問題ありません。この配列構造を使用してサーバー側の検証を作成しました。しかし、serializeArray() のような ajax 呼び出しを介して同じフォームを送信する場合
var data = new Object();
data.postValues = $('#formDealOptions').serializeArray();
$.ajax({
type: "POST",
url: GLOBAL_BASE_PATH + '/deal/ajaxsaveDealOptions/',
data: data,
success: function (data) {//}
});
投稿配列は次のようになります
[postValues] => Array
(
[0] => Array
(
[name] => dealOptionsGroup[1][dealOptionName]
[value] => dealOptionName1
)
[1] => Array
(
[name] => dealOptionsGroup[2][dealOptionName]
[value] => dealOptionName2
)
)
通常の形式の投稿と同じように ajax を使用して配列を投稿する方法はありますか。