2016-05-01 54 views
1

我在我的MySQL表中有X和Y座標。我有他們在我的PHP文件把他們在一個聯想陣列在數組中保存AJAX響應

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

我想將它們保存在我的html文件(與JavaScript)在2數組。 這怎麼可能?我可以使用例如一個JavaScript循環從保存輸出(x和y座標)到不同數組中切換嗎?

感謝您的每一個迴應!

+0

你想在JS的PHP價值觀 –

+0

加油,另一個Ajax JSON問題?請在使用Google之前詢問... – evolutionxbox

+0

您的問題很混亂。標題說你想使用AJAX,但問題是你想把它們放到HTML文件中。 – Barmar

回答

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; 
+0

感謝您的回答!但是,當我嘗試使用JSON.parse(xmlhttp.responseText)它說「SyntaxError:意外的令牌<在JSON在位置0」。 – Hris

+0

這意味着您的AJAX腳本在JSON之前正在輸出HTML。除了'echo json_encode($ array);'外,它不應該產生任何輸出。線。 – Barmar

+0

對不起,我是新手!但現在我怎麼可以有2個數組與JavaScript中的x和y座標,當我完成echo json_encode($ array); – Hris

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>