Jqueryは多次元配列を直接取得するため、シリアル化する必要はありません。
var data = {
foo: 123,
bar: 456,
rows: [
{
column1 : 'hello',
column2 : 'hola',
column3 : 'bonjour',
},
{
column1 : 'goodbye',
column2 : 'hasta luego',
column3 : 'au revoir',
},
],
test1:{
test2: {
test3: 'baz'
}
}
};
_PHPファイルの投稿データは次のようになります
Array
(
[foo] => 123
[bar] => 456
[rows] => Array
(
[0] => Array
(
[column1] => hello
[column2] => hola
[column3] => bonjour
)
[1] => Array
(
[column1] => goodbye
[column2] => hasta luego
[column3] => au revoir
)
)
[test1] => Array
(
[test2] => Array
(
[test3] => baz
)
)
)
データの多次元配列を定義すると、Ajaxは次のように単純になります。
$.ajax({
type: 'post',
cache: false,
url: './ajax.php',
data: data
});
投稿配列に不明なフィールドが含まれている可能性がある場合は、phpファイルの投稿配列に簡単にアクセスできます。
$data = file_get_contents('php://input');
$data = json_decode($data, true);