错误
TypeError: response[i] is undefined
...box' class='selectedSubjects' name='selectedSubjects' />
</td><td class='selected...
数组
[{"S_Code":"BCS-CER-IS","S_Name":"Information Systems.","C_Code":"BCS-CER","S_Status":"Active"},
{"S_Code":"BCS-CER-SD","S_Name":"Software Development.","C_Code":"BCS-CER","S_Status":"Active"},
{"S_Code":"BCS-CER-TEC","S_Name":"Computer & Network Technology","C_Code":"BCS-CER","S_Status":"Active"}]
AJAX成功回调
success: function (response) {
var size = response.filter(function (value) {
return value !== undefined
}).length;
for (var i = 0; i <= size; i++) {
$("#subjectsTable tr:last").after("<tr class='success' data-index=" + (i + 1) + "><td><input type='checkbox' class='selectedSubjects' name='selectedSubjects' /></td><td class='selectedSCode'>" + response[i].S_Code + "</td><td class='selectedSName'>" + response[i].S_Name + "</td></tr>");
}
}
为什么这个响应[i]未定义?
最佳答案
应该是 i < size
因为数组索引来自 0
至length-1
for (var i = 0; i < size; i++) {
$("#subjectsTable tr:last").after("<tr class='success' data-index=" + (i + 1) + "><td><input type='checkbox' class='selectedSubjects' name='selectedSubjects' /></td><td class='selectedSCode'>" + response[i].S_Code + "</td><td class='selectedSName'>" + response[i].S_Name + "</td></tr>");
}
所以当 i == size
response[i]
的值将是未定义的
关于javascript - 在 ajax 成功回调中的 for 循环中,response[i] 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18650772/