簡體   English   中英

將json_encoded數組傳遞給jQuery

[英]Passing json_encoded array to jQuery

我試圖傳遞使用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區分大小寫。

如果console.log顯示以下內容:

{"image_height":"1374px","image_width":"920px"}

然后您可以按以下方式訪問“ image_height”:

data.image_height;

設置php JSON響應標頭或從php返回純文本,然后在成功函數中使用$ .parseJSON。

 success: function(data) {
        jSon = $.parseJSON(data);
        console.log(jSon.image_height);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM