在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);
});
}
});
我正在尝试从我的数据对象中打印所有文件名,但根据控制台它们是未定义的。我错过了什么?
答案 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);
});
}
});