我想通過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'。 –
上述代碼有什麼問題? –
你做了什麼是正確的,它會工作。 –