在数组中保存AJAX响应

时间:2016-05-01 09:54:43

标签: javascript php mysql ajax

我的MySQL表中有X和Y坐标。我把它们放在我的php文件中,将它们放在一个关联数组中

while($row=$result->fetch_assoc()){
    echo $row['x'];
    echo $row['y'];
}

我想将它们保存在2个数组中的html文件中(使用javascript)。 这怎么可能?我可以使用例如javascript循环来切换保存不同数组中的输出(x和y坐标)吗?

感谢您的每一个回复!

2 个答案:

答案 0 :(得分:0)

您在寻找json_encode吗? http://php.net/manual/en/function.json-encode.php

这将允许您将数组直接打印到JavaScript中。例如:

<?php
    $coord = array(
        'x' => 52,
        'y' => 17,
    );
?>

<script>
var coords = <?php echo json_encode($coord); ?>;
</script>

将打印

<script>
var coords = {"x":52,"y":17};
</script>

答案 1 :(得分:0)

将它们放入PHP数组中,然后使用json_encode将其转换为Javascript。

$array = array();
while($row=$result->fetch_assoc()){
    $array[] = array('x' => $row['x'], 'y' => $row['y']);
}
echo json_encode($array);

在Javascript中,AJAX回调函数可以使用JSON.parse()将其转换为对象数组。

如果需要两个数组,请将xy值推送到不同的数组,然后将它们组合在JSON响应中。

$xarray = array();
$yarray = array();
while($row=$result->fetch_assoc()){
    $xarray[] = $row['x'];
    $yarray[] = $row['y'];
}
echo json_encode(array('x' => $xarray, 'y' => $yarray));

然后在Javascript中执行:

var obj = JSON.parse(response);
var xarray = obj.x;
var yarray = obj.y;