![](/img/trans.png)
[英]ERROR TypeError: Cannot read property 'testName' of undefined at Object.eval
[英]Uncaught TypeError: Cannot read property 'length' of undefined while accessing arraylist through Json Object
我从我的struts2动作类返回一个数组列表。 当我尝试通过JSON访问JavaScript文件中的Array列表时,
我正进入(状态
“未捕获的TypeError:无法读取未定义的属性'length'”。
在下面的行json.EmpListByOffsetAndLength
请参阅下面的代码。 我想将arraylist
数据显示到我的jsp页面中的表中。
alert(url);
$.ajax({
type : "POST",
cache : false,
url : url,
success : function(json) {
var table = document.getElementById("tablereload");
var rowCount = document.getElementById("tablereload").rows.length;
alert("this is row count" +rowCount);
$("#test").html('');
$.each(json.EmpListByOffsetAndLength, function(index, value) {
var row = table.insertRow(rowCount);
var i = 0;
for ( var key in value) {
var val = value[key];
alert(val);
var cell = row.insertCell(i);
var div = document.createElement('div'), // create
// DIV
// element
txt = document.createTextNode(val); // create
// text
// node
div.appendChild(txt);
cell.appendChild(div);
i++;
}
});
}
})
我想你没有在ajax中提到dataType ...
$.ajax({
url:"",
type:"post",
dataType:"json",
success:function(outputdata){ //do somethins
console.log(outputdata);
}
});
您可以检查选择器是否正常工作? 我怀疑这行不会返回有效的对象:
var table = document.getElementById("tablereload");
尝试这个? 您需要确保在表中使用tbody标签。
var rowCount = document.getElementById('tablereload').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
在这里找到: 不使用jquery计算表中的行数
谢谢你的帮助。
问题已解决。 我实际上,我在Java中的arraylist是EmpListByOffsetAndLength,但是在控制台中,它作为带有e mpListByOffsetAndLength的json对象出现,即带有小的'e'。 这就是为什么当我们在其上运行长度函数时,它对未定义的对象显示cnnot读取长度函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.