我正在使用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);
{"total":"628729","abo":"1646"}
我想将总计的结果和 abo 的结果放入我的场所:
$('input[name="subscribers"]').attr("placeholder", ?abo?).blur();
但我不知道是谁能恢复json的结果并取值总计和 abo
注意:我的json是文件api.php的json_encode
答案 0 :(得分:1)
jQuery似乎试图将JSON作为文本处理(或者更可能是HTML)。
告诉jQuery它是JSON:
<?php header("Content-Type: application/json"); ?>
然后你可以:
foo = data.total
答案 1 :(得分:0)
试试这个:
if (data) {
data = JSON.parse(data);
$('input[name="subscribers"]').attr("placeholder", data.abo).blur();
}
答案 2 :(得分:0)
您可以使用$.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();
}
});
答案 3 :(得分:0)
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();
}