将多维数组传递给Javascript

时间:2013-11-22 23:43:23

标签: javascript php arrays json multidimensional-array

尝试使用JSON将多维php数组传递给Javascript。代码拒绝输入JSON的成功状态,为什么会这样?

这是javascript文件:

array = [];

function callback(arr)
{
 console.log(array);
 //simpleText.setText = array[0]
};
$(document).ready(function() {
 $.getJSON('database.php', function(phpdata){
    console.log("po");
    console.log(phpdata);
    callback(phpdata);
  });

});

和php文件:

header("Content-type: application/json");
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("atlas") or die(mysql_error()); 

$data = mysql_query("SELECT * FROM questions") 
or die(mysql_error()); 

$i = 0;
$result_array = array();
 while ($Row = mysql_fetch_array($data)) 
{ 
$user[] = array( 
'id'=>$Row['id'], 
'q'=>$Row['q'],
'a'=>$Row['a'],
'coordx'=>$Row['coordx'],
'coordy'=>$Row['coordy'],
    ); 
} 


var_dump($user);

$json = json_encode($user[0]);


echo $json;

2 个答案:

答案 0 :(得分:2)

删除

var_dump($user);

线。它使结果无效JSON。

答案 1 :(得分:1)

getJSON jQuery函数不返回错误。使用下面的ajax函数检查错误消息并返回JSON(在jqXHR对象内):

$.ajax({
    url: 'database.php',
    dataType: 'json',
    success: function(data, textStatus, jqXHR) {
        // success
    },
    error: function(jqXHR, textStatus, errorThrown) {
        // error
    }
});