2014-06-17 150 views
0

我在解码JSON对象时遇到问题。我使用Ajax调用来调用PHP脚本。 PHP脚本返回一个JSON编码的对象,我只能读取第一条记录。我如何解码JSON对象?我正在使用JQUERY Mobile。JavaScript阵列的JSON对象?

PHP脚本:

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = "[password]"; 

    $databaseName = "zombieSurvival"; 
    $tableName = "TBLusers"; 

    //Connect to mysql database 

    include 'DB.php'; 
    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 

    // 2) Query database 

    $result = mysql_query("SELECT * FROM $tableName"); 
    $array = mysql_fetch_array($result); 
    echo json_encode($array); 

?> 

,这里是Ajax调用:

$.ajax({ 
     url: '/PHP/getUserMarkers.php', 
     data: "", 
     dataType: 'json', 
     success: function(data){ 

     //How can I treat 'data' variable to make it a 
     //javascript array? 


     } 
     }); 
+3

即使这是一个'localhost'机器,发布您的密码是不可取的。 – JakeGould

+0

你可以在这个副本中看到一个答案:[将JSON对象转换为Javascript数组](http://stackoverflow.com/questions/20881213/converting-json-object-into-javascript-array) –

+0

谢谢杰克 - 监督我部分...要看一看由lulian发布的副本... – user3535074

回答

0

的问题是由PHP脚本返回的JSON对象。调整PHP脚本如下,现在我可以访问所有返回的行和单个字段名称。

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = "muertealregueton"; 

    $databaseName = "zombieSurvival"; 
    $tableName = "TBLusers"; 


    include 'DB.php'; 
    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 


    $result = mysql_query("SELECT * FROM $tableName"); 
    $array = array(); 
    while(($row = mysql_fetch_array($result))) { 
     $array[] = $row; 
    } 
    echo json_encode($array); 

?> 

和呼吁的后记录一个警告的Ajax代码返回:

$.ajax({ 
     url: '/PHP/getUserMarkers.php', 
     data: "", 
     dataType: 'json', 
     success: function(data){ 


     //now I can access each row and field 
     //like here I access the 3rd field of the 15th record 
     alert(data[15][2]); 



     } 
     });