2012-11-27 40 views
0

我試圖在向PHP發送GET請求後將數組傳遞給Javascript。 發送和檢索數據的作品完美,但我無法對將數據送回像這樣的數組發現任何東西:通過GET將PHP數組傳遞給Javascript

<?php 

$result = mysql_query('blablabla'); 

//converting $result to an array? 

echo $result_as_javascript_array; 

?> 

<script> 
$('result').innerHTML = httpGet.responseText 
</script> 
+1

您可以使用JSON爲這種數據。 – arunes

+4

'json_encode()':http://ie1.php.net/manual/en/function.json-encode.php – TRiG

+0

你可以看看JSON背透的JavaScript – kabuto178

回答

0

你應該使用json_encode,它工作得很好,當直接分配輸出到JavaScript變量

<?php 

$result = mysql_query('blablabla'); 

//first convert result to an associative array 
$myarray = array(); 
while($fetch = mysql_fetch_assoc($result)){ 
    $myarray[]=$fetch; 
} 

//converting $result to an array? 
echo "<script>"; 
echo "var myArray = ".json_encode($myarray).";"; 
echo "</script>"; 
?> 

<script> 
//now you can use myArray global javascript variable 
$('result').innerHTML = myArray.join(","); 
</script> 
+0

@Kermal謝謝你來傳遞數據的數組! – user1826176

+0

需要注意的是,assignin JSON字符串直接向JavaScript變量是不安全的,這只是用於測試目的,嚴重發展,你必須使用JSON解碼器對JavaScript,即你可以使用jQuery的(VAR OBJ = jQuery.parseJSON(」 {「name」:「John」}');)parseJSON函數。 –

0

使用json_encode這樣的:

<?php 

$result = mysql_query('blablabla'); 

//converting $result to an array? 

echo json_encode($result); 

?> 

你可能不希望把響應文本到您的權利元素的innerHTML但除非你是想顯示元素中的JSON文本。

0
$arr = array(); 
while ($row = mysql_fetch_array($result)) { 
    $arr[] = $row; 
} 
echo $arr; 

但是,mysql_已被棄用,請改爲使用mysqli。

如果你想要把它作爲JSON,使用此:

echo json_encode($arr); 
相關問題