【发布时间】:2015-10-12 12:56:21
【问题描述】:
我正在尝试将数组从 javascript 传递给 PHP。 错误消息说:
NULL 警告: 为 foreach() 提供的参数无效 /Library/WebServer/Documents/jsontest/json_receive.php 第 10 行
我的代码有什么问题吗?
<script>
function sendData(){
var arr= [{
"city" : "Brussels",
"age" : 25
},
{
"city" : "Antwerp",
"age" : 40
}];
$.ajax({
type: "POST",
url: "json_receive.php",
datatype: 'JSON',
data: {arr: JSON.stringify(arr)},
success: function(data){
console.log("success:",data);
},
failure: function(errMsg) {
console.error("error:",errMsg);
}
});
}
<?php
$data = json_decode($_POST["arr"]);
// will echo the JSON.stringified - string:
echo $_POST["arr"];
// will echo the json_decode'd object
var_dump($data);
//traversing the whole object and accessing properties:
print_r($data);
foreach($data as $cityObject){
echo "City: " . $cityObject->city . ", Age: " . $cityObject->age . "<br/>";
}
?>
【问题讨论】:
-
所有的回声、转储和打印都向您展示了什么?
-
试试
$data = json_decode($_POST["arr"],true); -
我已经在我的服务器上测试了您的代码,因为它按预期工作,没有错误。
-
你想用这段代码实现什么?看来您正在前后传递相同的数据。另外,正如我之前所说,您的代码没有任何问题。
-
我同意@PedroLobito,你的代码看起来不错。
标签: javascript php arrays