// Javascript側
var ary =[];
ary["test"] = 1;
$.ajax({
type:"POST",
url:"test.php",
data:"ary="+ary,
cache:false,
success: function(str){
$("#preview").text(str);
}
});
// PHP側
print_r($_POST["ary"]);
としているのですが、反応がありません。
連想配列の部分を ary[0] = 1 というようにすると、結果が出力されます。
PHP側で $_POST["aray"]["test"]という連想配列を扱いたいのですが、どうすればいいのでしょうか?
すみません。上記の説明を勝手に解釈します。
リクエストのary(arayではなく)パラメータとして変数aryの中身を送信されたいのであれば
var ary =[]; ary["test"] = 1; $.ajax({ type:"POST", url:"test.php", data: {"ary" : ary }, cache:false, success: function(str){ $("#preview").text(str); } });
となるかと思います。
ajaxといったって POST や GET は HTTPなんだから、
配列そのままってのは、無理。
配列を1つの変数にしてしまってから送信し、
php側で分離するといったような措置が必要。
最近のはてなの状況にモチベーションが下がりっぱなしなので、
上記コメントだけ。
<form action="test.php" method="post">
<input name="ary[a]" type="checkbox" value="1">
<input name="ary[b]" type="checkbox" value="2">
<input type="submit" value="send" />
</form>
みたいな事は出来ないと言う事ですね。
Ajaxなら同じようにPHPにデータを渡せると思っていました。
勉強になりました。
そのフォームで送ってるのは配列とは、ちと違う。