我从$.ajax({ POST.....
[{"total_votes":1,"options":[{"id":40,"vote_count":0,"users":[]},{"id":41,"vote_count":1,"users":[{"photo":"xxxxxxxxxxx.png","name":"XXXXX,"id":1}]},{"id":42,"vote_count":0,"users":[]}]}]
因此我尝试使用以下内容获取total_votes:
success: function(e) {
console.log(e['total_votes'])
}
也试着去
console.log( e['options'].length() )
console.log( e['options'][0]['id'] )
关于为什么我一直未定义的建议?还有更好的方法来循环选项吗?
由于
答案 0 :(得分:8)
您的根对象是一个数组,因此您需要执行e[0]['total_votes']
之类的操作。此外,数组的长度不是一个属性,因此您需要执行e[0].options.length
或e[0]['options'].length
。
答案 1 :(得分:2)
使用$.each()
循环播放它们答案 2 :(得分:1)
根据您的示例JSON响应(它在数组中),它将是e[0].total_votes
。
答案 3 :(得分:0)
在解除引用JSON对象之前,您需要调用JSON.parse
答案 4 :(得分:0)
以这种方式格式化你的Json,你可以获得像这样的“total_votes”值
success: function(e) {
console.log(e[0].total_votes);
}
[
{
"total_votes": 1,
"options": [
{
"id": 40,
"vote_count": 0,
"users": []
},
{
"id": 41,
"vote_count": 1,
"users": [
{
"photo": "xxxxxxxxxxx.png",
"name": "XXXXX",
"id": 1
}
]
},
{
"id": 42,
"vote_count": 0,
"users": [
{}
]
}
]
}
]
结帐here