我正在尝试使用 json_encode()
传递我在 PHP 中创建的数组。我正在运行一个 AJAX 请求,如下所示:
AJAX 调用:
$.ajax({
type: "POST",
url: "../includes/ajax.php?imagemeta=1",
data: {
'id' : $(this).attr('id')
},
datatype:"json",
success: function(data) {
console.log(data);
console.log(data["image_height"]);
},
error: function(data) {
console.log(data);
}
});
PHP JSON 响应:
if(isset($_GET["imagemeta"])){
$id = intval($_POST["id"]);
$path = "../uploads/images/" . $fm->selectImageById($id);
$meta = array();
list($width, $height) = getimagesize($path);
$meta["image_height"] = $height . 'px';
$meta["image_width"] = $width . 'px';
print json_encode($meta);
不过,console.log(data) 返回以下内容:{"image_height":"1374px","image_width":"920px"}
下一行 console.log(data["image_height"]) 返回未定义。
我已经尝试了多次,并且通读了关于该主题的大部分评分最高的问题。我对 JSON 编码相当陌生,所以如果我在某处有误解,请告诉我。
最佳答案
datatype:"json",
应该是:
dataType:"json",
^
Javascript 区分大小写。
关于javascript - 将 json 编码的数组传递给 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462615/