Java 未捕获类型错误:无法读取属性';长度';通过Json对象访问arraylist时未定义的
我正在从struts2操作类返回一个数组列表。 当我试图通过JSON访问JavaScript文件中的数组列表时 我越来越 “未捕获的TypeError:无法读取未定义的属性'length' 在下面的行中Java 未捕获类型错误:无法读取属性';长度';通过Json对象访问arraylist时未定义的,java,javascript,jquery,json,struts2,Java,Javascript,Jquery,Json,Struts2,我正在从struts2操作类返回一个数组列表。 当我试图通过JSON访问JavaScript文件中的数组列表时 我越来越 “未捕获的TypeError:无法读取未定义的属性'length' 在下面的行中json.EmpListByOffsetAndLength 请参阅下面的代码。我想将arraylist中的数据显示到jsp页面的表中 alert(url); $.ajax({ type : "POST", cache : false, url : url, succ
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++;
}
});
}
})
你能检查一下你的选择器是否工作正常吗?我怀疑此行没有返回有效的对象:
var table = document.getElementById("tablereload");
你能检查一下你的选择器是否工作正常吗?我怀疑此行没有返回有效的对象:
var table = document.getElementById("tablereload");
我想你没有提到ajax中的数据类型
$.ajax({
url:"",
type:"post",
dataType:"json",
success:function(outputdata){ //do somethins
console.log(outputdata);
}
});
我想你没有提到ajax中的数据类型
$.ajax({
url:"",
type:"post",
dataType:"json",
success:function(outputdata){ //do somethins
console.log(outputdata);
}
});
试试这个?您需要确保在表中使用tbody标签
var rowCount = document.getElementById('tablereload').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
在此处找到:试试这个?您需要确保在表中使用tbody标签
var rowCount = document.getElementById('tablereload').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
在此处找到:谢谢您的帮助
问题解决了。实际上,我在Java中的arraylist是EmpListByOffsetAndLength,但在控制台中它是作为json对象出现的,带有EmpListByOffsetAndLength,即带有小的“e”。这就是为什么,当我们在上面运行长度函数时,它显示了未定义对象的cnnot read length函数。谢谢您的帮助
问题解决了。实际上,我在Java中的arraylist是EmpListByOffsetAndLength,但在控制台中它是作为json对象出现的,带有EmpListByOffsetAndLength,即带有小的“e”。这就是为什么,当我们在上面运行长度函数时,它显示了未定义对象的cnnot read length函数。什么是
console.log(json.EmpListByOffsetAndLength)代码>显示?您需要调试并查看问题所在。我的第一个猜测是json
没有EmpListByOffsetAndLength
属性,这可能是因为jQuery没有将其解析为json,因为您在AJAX请求中没有声明dataType
。什么是console.log(json.EmpListByOffsetAndLength)代码>显示?您需要调试并查看问题所在。我的第一个猜测是json
没有EmpListByOffsetAndLength
属性,可能是因为jQuery没有将其解析为json,因为您在AJAX请求中没有声明数据类型。