我有一些JS正在向PHP控制器发送POST请求。 JS代码如下:
$.ajax({
url: 'map-controller/coordcontroller.php',
data: {myData:JSON.stringify(myArray)},
type: 'post',
success: function(output) {
console.log(output);
}
});
在服务器端,$ _POST [" myData"]如下:
[{"lat":36.8867497490586,"lng":-76.3046246767044},{"lat":36.88671756964517,"lng":-76.30381464958191}]
据我了解,我的数据驻留在单个元素数组中($ _POST [" myData"]),包含一系列以逗号分隔的对象。我尝试过json_decode(),但我觉得它不起作用,因为我的数据对象实际上是一个数组而不是实际的JSON数据。
我的问题:如何在循环中访问每个对象?或者我的实现有缺陷,我应该修改我的Javascript以不同的方式发送数据吗?
答案 0 :(得分:0)
var_dump (json_decode($_POST["myData"]));
结果:
array(2) {
[0]=>
object(stdClass)#1 (2) {
["lat"]=>
float(36.886809817261)
["lng"]=>
float(-76.304672956467)
}
[1]=>
object(stdClass)#2 (2) {
["lat"]=>
float(36.886146919127)
["lng"]=>
float(-76.305075287819)
}
}
我的错误是使用echo而不是var_dump来检查已解码的对象。