有一个二维数组a[2][2],
$.post(url,{?:?},function(jdata){
//code....
});
问号的地方怎么写,还有后台PHP:$a=$_POST[?],要怎么写
不能转成字符串!!
大家讲道理2017-04-10 14:34:28
我先上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算不算是你说的“使用字符串”。
但希望能够帮助到您!
PHP中文网2017-04-10 14:34:28
$.post(url,{"xx[0]":1,"xx[1]":2},function(){
});
xx个数不确定的可以这样
$.post(url,{"xx[]":1,"xx[]":2},function(){
});
和表单提交一个道理
jQuery最终还是会把它转成字符串
参观
高洛峰2017-04-10 14:34:28
{
'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
传过去。