簡體   English   中英

jQuery和Ajax如何解析json?

[英]Jquery and ajax How to parse json?

我正在使用Jquery和Ajax。

我有一個簡單的表格和我的jQuery

這是一段代碼:

username = $('input[name="username"]').val(); 
$.post("api.php", {username: username}, function(data) {  
    if(data == "error") {
        data("erreur");
    } else {
        alert(data);
        $('input[name="subscribers"]').attr("placeholder", "something").blur();
        $('input[name="viewCount"]').attr("placeholder", "something").blur();
    }
});

alert(data);的結果alert(data);

{"total":"628729","abo":"1646"}

我想提出的的結果和ABO到我placeolder的結果:

$('input[name="subscribers"]').attr("placeholder", ?abo?).blur();

但是我不知道誰能恢復json的結果並取totalabo的值

注意:我的json由文件api.php用json_encode

jQuery似乎正在嘗試將JSON作為文本(或更可能是HTML)處理。

告訴jQuery它是JSON:

<?php header("Content-Type: application/json"); ?>

然后,您可以:

foo = data.total

嘗試這個:

if (data) {
    data = JSON.parse(data);
    $('input[name="subscribers"]').attr("placeholder", data.abo).blur();
}

您可以使用$.parseJSON()解析json

username = $('input[name="username"]').val(); 
$.post("api.php", {username: username}, function(data) {  
    if(data == "error") {
        data("erreur");
    } else {
        alert(data);
        data=$.parseJSON(data); // add this line
        $('input[name="subscribers"]').attr("placeholder", "something").blur();
        $('input[name="viewCount"]').attr("placeholder", "something").blur();
    }
});

JSON是表示(在這種情況下)對象的字符串,因此data是字符串。 為了從字符串轉到對象,您需要對其進行解析 有一個JSON.parse()函數可以做到這一點:

if(data == "error") {
    data("erreur");
} else {
    alert(data);
    var yourObj = JSON.parse(data);
    $('input[name="subscribers"]').attr("placeholder", yourObj.abo).blur();
    $('input[name="viewCount"]').attr("placeholder", yourObj.subscribers).blur();
}

暫無
暫無

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

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