[英]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的結果並取total和abo的值
注意:我的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.