有一个二维数组a[2][2], $.post(url,{?:?},function(jdata){ //code.... }); 问号的地方怎么写,还有后台PHP:$a=$_POST[?],要怎么写 不能转成字符串!!
认证0级讲师
我先上Demo:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>test</title> <script src="js/jquery-1.11.1.min.js"></script> <script> $(function(){ var arr = []; for (i = 0; i < 10; i ++) arr[i] = []; var k = 0; for (i = 0; i < 10; i++) for (j = 0; j < 10; j++){ arr[i][j] = k; k++; } $.post( 'post.php', { data : JSON.stringify(arr) }, function(data) { document.write(data); } ); }) </script> </head> <body> </body> </html>
<?php $data = $_POST['data']; $arr = json_decode($data); for ($i = 0; $i < 10; $i++){ for ($j = 0; $j <10; $j++){ echo $arr[$i][$j].", "; } echo "<br>"; } ?>
我使用的是JSON。
数组转字符串:
JSON.stringify(arr); //返回字符串
字符串转数组:
JSON.parse(str); //返回数组
json_decode($str); //返回数组
json_encode($arr); //返回字符串
虽然我不明白你为什么不能转成字符串,不知道使用JSON算不算是你说的“使用字符串”。 但希望能够帮助到您!
$.post(url,{"xx[0]":1,"xx[1]":2},function(){ });
xx个数不确定的可以这样
$.post(url,{"xx[]":1,"xx[]":2},function(){ });
和表单提交一个道理 jQuery最终还是会把它转成字符串
参观
{ 'param_0_0': a[0][0], 'param_0_1': a[0][1], 'param_1_0': a[1][0], 'param_1_1': a[1][1] }
post是不能传二维的东西的,最后必须把它捋平了。再者说a[2][2]四个元素也不多对吧。
突然想起来还有一个方法,用JSON.stringtify把a转化成字符串,再urlencode传过去。
JSON.stringtify
a
urlencode
我先上Demo:
解析
我使用的是JSON。
Javascript端
数组转字符串:
字符串转数组:
php端:
字符串转数组:
数组转字符串:
虽然我不明白你为什么不能转成字符串,不知道使用JSON算不算是你说的“使用字符串”。
但希望能够帮助到您!
xx个数不确定的可以这样
和表单提交一个道理
jQuery最终还是会把它转成字符串
参观
post是不能传二维的东西的,最后必须把它捋平了。再者说a[2][2]四个元素也不多对吧。
突然想起来还有一个方法,用
JSON.stringtify
把a
转化成字符串,再urlencode
传过去。