json:使用关联数组作为数据

时间:2011-04-23 11:27:56

标签: jquery json

在json.php中:

$data = array ( "filename"  => array (), "datetime"  => array () );

$ data数组中填充了循环中的一些数据。

在index.php中:

$.ajax({
    url: "json.php",
    success: function(data){

        $.each(data, function(i, item) {
            console.log(data[i].filename);
        });



     }
});

我正在尝试从我的数据对象中打印所有文件名,但根据控制台它们是未定义的。我错过了什么?

3 个答案:

答案 0 :(得分:2)

在php网站上:

$data = array ( "filename"  => array (), "datetime"  => array () );
header('Content-type: application/json');
echo json_encode($data);
exit;

在js网站上:

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

        $.each(data, function(i, item) {
            console.log(item.filename);
        });

     }
});

答案 1 :(得分:1)

您应该使用json_encode($data)

答案 2 :(得分:0)

我不是PHP开发人员,但您是否使用Firebug检查data,因为它可能不是JSON?

如果您发现它是JSON字符串,则应首先执行此操作

data = $.parseJSON(data);

为了简洁起见,你可以写

$.ajax({
    url: "json.php",
    success: function(data){
        data = $.parseJSON(data); // if needed
        $.each(data, function() {
            console.log(this.filename);
        });
     }
});