我想通过Ajax如下访问阵列通过Ajax
var arr={'a':1,'b':2,'c':3};
$.ajax({
type:'POST',
url:'data.php',
data:arr,
});
在PHP我想遍历数组中的所有元素有所如下
传递一个关联数组的PHP传递$data=$_POST;
foreach($data as $k=>$v)
{
echo $k.'='.$v;
}
有人可以在这方面帮助我。
我想通过Ajax如下访问阵列通过Ajax
var arr={'a':1,'b':2,'c':3};
$.ajax({
type:'POST',
url:'data.php',
data:arr,
});
在PHP我想遍历数组中的所有元素有所如下
传递一个关联数组的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']
将是一个数组
$ _POST ['data']不访问数组 – Tyranicangel
为什么它是json编码的?他的对象将以数组形式接收的任何方式 –
<?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)
}
该做的工作
data:{dat:arr}
对jQuery和
$data=$_REQUEST['dat']
上php
这并不能解释你为什么不能在之前迭代'$ _POST'。 –
上述代码有什么问题? –
你做了什么是正确的,它会工作。 –