【发布时间】:2013-08-19 15:31:02
【问题描述】:
我正在使用 AJAX 从 PHP 文件中获取 JSON 编码的数组,但在 JavaScript 中我需要将其用作数组,如何在 Javascript 中创建数组?
我对 PHP 文件的 AJAX 调用:
$.ajax({
type:"POST",
url:"ajaxfetch.php",
success:function(result){
alert(result);
}
});
在 PHP 文件中创建的数组:
Array
(
[0] => Array
(
[id] => 4
[deviceID] => xyz123
[latitude] => -33.80010128657071
[longitude] => 151.28747820854187
[altitude] => 34.78788787
[createdDate] => 2013-08-15 23:00:00
[delete] => 0
)
[1] => Array
(
[id] => 5
[deviceID] => jdkfhjskh344
[latitude] => -33.950198
[longitude] => 151.259302
[altitude] => 76.44455
[createdDate] => 2013-08-15 21:50:42
[delete] => 0
)
[2] => Array
(
[id] => 1
[deviceID] => abc223
[latitude] => -33.890542
[longitude] => 151.274856
[altitude] => 21.4454455
[createdDate] => 2013-08-15 20:00:00
[delete] => 0
)
)
我在 PHP 中对这个数组进行了 json 编码,但 AJAX 检索了它并以字符串形式输出。
ABOVE ARRAY json 编码如下:
$data = array();
$data = $locate_obj->getAllDeviceLocation();
echo json_encode($data);
json_encode 的输出
[{"id":"4","deviceID":"xyz123","latitude":" -33.80010128657071","longitude":"151.28747820854187","altitude":"34.78788787","createdDate":"2013-08-15 23:00:00","delete":"0"},{"id":"5","deviceID":"jdkfhjskh344","latitude":"-33.950198","longitude":"151.259302","altitude":"76.44455","createdDate":"2013-08-15 21:50:42","delete":"0"},{"id":"1","deviceID":"abc223","latitude":"-33.890542","longitude":"151.274856","altitude":"21.4454455","createdDate":"2013-08-15 20:00:00","delete":"0"}]
我正在寻找可以在 Javascript 中创建一个数组的方法,该数组使用我在 ajax 响应中收到的输出,以便我可以提出一个格式数组:
var locations = [
['Bondi Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
【问题讨论】:
-
为什么不在服务器端以这种格式对数据进行编码?如果要解析 JSON,请使用
JSON.parse或在$.ajax调用中设置dataType: 'json'选项或在 PHP 中设置正确的响应标头。 -
我也是这样做的,在 php 代码中我做了 json_encode(myarray) 并回显了它...不是我希望将其转换为 Javascript 所需的维度数组...。
-
但是 PHP 中的数组格式与 JavaScript 中的数组格式不同。所以这就是我要问的原因,为什么不在服务器端以正确的格式创建数据?
-
这就是我需要做的......但我不知道如何实现这一目标
-
那就去做吧! Javascript 和 PHP 中的数组并没有什么不同。
标签: php javascript ajax arrays json