2013-02-22 42 views
-1

我试图通过使用json_encode我想从PHP通过json_encode成JavaScript

从PHP传递数组转换成JavaScript,但是当我提醒值,我只看到“Object对象等”

当我它的var_dump我看到实际的阵列,但它不是显示他们在警报

任何帮助,将不胜感激

问候

这是后续代码var_dump

array(1) { 
    [0]=> 
    array(2) { 
    ["id"]=> 
    string(19) "3.0268" 
    ["postcode"]=> 
    string(137) "hello" 
    } 
} 

array(2) { 
    [0]=> 
    array(2) { 
    ["id"]=> 
    string(19) "3.0268070455319E+17" 
    ["postcode"]=> 
    string(137) "ECMWF continues its flip-flopping, still a temp drop next week & #snow risk but then no rise, http://t.co/tBlg9Ihs #ukweather #uksnow" 

} 代码

<?php 

$con = mysql_connect('localhost', 'root', ''); 
    mysql_select_db('test'); 

    $result = mysql_query("SELECT * FROM address"); 

$arr = array(); 
while($row = mysql_fetch_assoc($result)) { 
    $arr[] = $row; 

} 

?> 

<script> 

var test = <?php echo json_encode($arr); ?>; 
alert(test); 

</script> 
+0

什么是打印输出? – Mathletics 2013-02-22 19:39:19

+0

这是预期的输出。一切安好。对象的*默认字符串表示*是'“[object Object]”。使用'console.log'来检查变量。 – 2013-02-22 19:40:37

+0

看到这个:http://stackoverflow.com/questions/684672/loop-through-javascript-object – 2013-02-22 19:41:25

回答

5

alert将调用toString()什么传递给它。你可能想要console.logtest是一个对象,这是默认情况下在alert中打印的对象。

实施例:

alert({a:1,b:2}) // => [object Object] 
({a:1,b:2}).toString() // => "[object Object]" 
+1

@ Hashey100 http://jsfiddle.net/UpBEx/请务必打开控制台 – 2013-02-22 19:48:46