我有一个数据来自restAPI,如下所示
{
"count": 2,
"status1": "OK",
"graphCode1": "B",
"graphData1": [{
"key": "Sports",
"values": [{
"label": "Cricket",
"value": 7
}, "label": "Football", "value": 4
}]
}],
"status2": "OK",
"graphCode2": "L",
"graphData2": [{
"key": "Age",
"values": [{
"x": 0,
"y": "24"
}, {
"x": 1,
"y": "23"
}, {
"x": 2,
"y": "23"
}, {
"x": 3,
"y": "27"
}, {
"x": 4,
"y": "21"
}, {
"x": 5,
"y": "27"
}, {
"x": 6,
"y": "25"
}, {
"x": 7,
"y": "23"
}, {
"x": 8,
"y": "24"
}, {
"x": 9,
"y": "23"
}]
}]
}
我试图生成字符串以与响应进行比较
的jQuery
$.post("<?php echo BASE_URL . php/processing/showGraphsOnUserDashboard.php'; ?>", {}, function(data) {
// processing for count = 1;
} else if (data.count === 2) {
for (var i = 1; i <= 2; i++) {
var place = '#graph' + i + ' svg';
console.log(place);
console.log(data.status + i);
if (data.status+i === "OK") {
// processing
}
当我尝试控制它时会显示错误“NaN”。意味着它没有将字符串作为status1随后status2。
怎么做???
答案 0 :(得分:1)
只需使用data["status"+i]
代替data.status + i
因此对于i = 2
,它会解析为data["status2"]
最终代码:
console.log(data["status" + i]);
if (data["status" + i] === "OK") {
// processing
}
那是它..
快乐编码:)