jQueryを使用して多次元配列を投稿しようとしています。配列を送信する直前に、配列に想定される内容が含まれていることを確認しました(特定の要素をチェックして警告することにより)。
ただし、リクエストを送信すると、次のように送信されます。
Array
(
[undefined] =>
)
これが全部です...
var mainArray = new Array();
$(".list").each(function(){
var day = $(this).attr("id");
var order = 1;
$("#" + id + " li").each(function(){
var subArray = new Array();
var id = $(this).attr("id");
subArray["id"] = id;
subArray["order"] = order;
subArray["day"] = day;
mainArray.push(subArray);
order++;
});
});
// This displays what I would expect
alert(mainArray[0]['id']);
alert(mainArray[1]['id']);
alert(mainArray[2]['id']);
alert(mainArray[3]['id']);
// This doesn't work
$.ajax({
type: 'post',
url: 'test2.php',
data: mainArray,
success: function(data) {
$("#test").html(data);
}
});
何か案は?私の理解では、jQueryは配列を自動的にシリアル化することになっていますか?