我正在尝试通过 Ajax 将关联数组传递给 php,如下所示
var arr={'a':1,'b':2,'c':3};
$.ajax({
type:'POST',
url:'data.php',
data:arr,
});
在php中,我想循环遍历数组的所有元素,如下所示
$data=$_POST;
foreach($data as $k=>$v)
{
echo $k.'='.$v;
}
有人可以在这方面帮助我。
你可以这样做
var newarr = JSON.stringify(arr);
$.ajax({
type:'POST',
url:'data.php',
data:{dat:newarr} ,
});
并在 php
$data = json_decode($_POST['dat']);
foreach($data as $a){
echo $a;
}
你也可以使用serializeArray()
$.ajax({
type:'POST',
url:'data.php',
data:{dat: $(arr).serializeArray()} ,
});
然后$_POST['data']
将是一个数组
这完成了工作
data:{dat:arr}
在 jquery 和
$data=$_REQUEST['dat']
在 PHP 上
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
上面的示例将输出:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}