[英]Cannot read property '0' of undefined
我有一个加载并返回JSON项目的网格。 添加了一个单选按钮过滤器以过滤那些项目。 每次选择单选按钮时,网格项目都会刷新以显示符合过滤条件的项目。
事情是,当我单击单选按钮时,什么也没有发生,并且看到Cannot read property '0' of undefined
错误的Cannot read property '0' of undefined
。 JSON已正确加载,并且没有任何404或500错误,我可以使用Chrome DevTools确认。 令人反感的代码行似乎是while (typeof n.main[l.toString()] != "undefined")
。 下面是包含上述代码的函数:
function j(n) {
var m = [],
l;
if (n.main != "undefined") {
l = 0;
while (typeof n.main[l.toString()] != "undefined") {
m.push(n.main[l.toString()]);
l++
}
}
if (GridApp.logging) {
$.log(m.length + " talks loaded")
}
m = f(m);
m = GridMathFactory.applyGridMath(m);
GridModel.setTalkVOs(m);
d = e(d);
for (l = 0; l < d.length; l++) {
d[l].talkIdx = l
}
GridController.onTalksLoadSuccess()
}
这是函数n
的代码:
function n() {
if (GridApp.logging) {
$.log("GridMathFactory.calculateSubColumns()")
}
var B = 0;
var A;
for (var z = 0; z < q.length; z++) {
var y = columnScale - 1;
if (t[y] < f.length) {
A = g(q[z], B)
}
B += (A) ? k : k;
if (GridApp.logging) {
$.log("Just calculated column " + z + "; Contained 1 ? " + A)
}
}
}
if (n.main != "undefined") {
应该:
if (n.main !== undefined) {
要么:
if (typeof n.main != "undefined") {
原来main
是我调用的JSON中不存在的东西。 删除它,现在它可以正常工作了。
function j(n) {
var m = [],
l;
if (n != "undefined") {
l = 0;
while (typeof n[l.toString()] != "undefined") {
m.push(n[l.toString()]);
l++
}
}
if (GridApp.logging) {
$.log(m.length + " talks loaded")
}
m = f(m);
m = GridMathFactory.applyGridMath(m);
GridModel.setTalkVOs(m);
d = e(d);
for (l = 0; l < d.length; l++) {
d[l].talkIdx = l
}
GridController.onTalksLoadSuccess()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.