我从jQuery GET请求获得此结果,但它不被视为对象。
[{
"amount": "19323",
"image_tag_id": "1",
"language_iso": "en",
"image_tag": "bla",
"image_content_id": "1",
"image_id": "1",
"last_change": "2010-08-18 09:46:53",
"description": "bla presented by a hairy fly",
"title": "bla_presented_by_a_hairy_fly",
"alt_text": "bla presented by a hairy fly"
}]
这是我得到的结果。
我需要在页面上显示的金额。
但现在如果我把它作为一个' imagecount'结果并询问imagecount.amount
或imagecount[0].amount
是否未定义。
echo json_encode($results); //gives the results
$.get('/file.php', imageSearchData, function(imagecount) {
$('.imageAmount').html(imagecount[0].amount);
});
调用该文件。
答案 0 :(得分:1)
由于您在服务器端对数据进行了编码,因此您应该在使用前在客户端对其进行解析,因此您可以使用 JSON.parse()
或 {{ 3}} :
$.get('/file.php', imageSearchData, function(imagecount) {
imagecount = JSON.parse(imagecount);
//OR
//imagecount = $.parseJson(imagecount);
$('.imageAmount').html(imagecount[0].amount);
});
希望这有帮助。
答案 1 :(得分:1)
使用JSON.parse()
解决此问题。
$.get('/file.php', imageSearchData, function(imagecount) {
var imagecountParsed = JSON.parse(imagecount);
$('.imageAmount').html(imagecountParsed[0].amount);
});
答案 2 :(得分:1)
正常$.get
,获取一个json字符串。尝试使用已经解析json对象的$.getJSON
。
$.getJSON('/file.php', imageSearchData, function(imagecount) {
$('.imageAmount').html(imagecount[0].amount);
});