我有包含User
对象的Javascript数组。我从modelAttribute
创建了这个数组。
var userList = '${userList}'; // userList is a spring model attribute
userList
包含User
个对象的列表。我正在访问它
for(i=0;i<userList.length;i++)
{
if(searchKey == "" || userList[i].indexOf(searchKey) != -1)
{
$('#userTable').dataTable().fnAddData( [
userList[i].firstName,
userList[i].lastName,
userList[i].institution,
userList[i].email] );
}
}
但我得到的值为undefined
。最初我使用Ajax调用,它工作正常。
$.getJSON("lookup/users", {name:searchKey,userType:"requester"}, function(userList) {
// It works fine
for(i=0;i<userList.length;i++)
{
$('#userTable').dataTable().fnAddData( [
userList[i].firstName,
userList[i].lastName,
userList[i].institution,
userList[i].email] );
}
});
我现在如何访问它?
修改
console.log(“userList:”+ userList);给出
userList : [org.test.dto.UserDTO@11d1c59, org.test.dto.UserDTO@302f39, org.test.dto.UserDTO@16c57b1]
答案 0 :(得分:2)
var userList = '${userList}';
userList
不是数组。
如果它应该呈现一个javascript数组,请取出引号。
答案 1 :(得分:1)
您的if
条件应该是:
if(searchKey == "" || userList[i].firstName.indexOf(searchKey) != -1 || userList[i].lastName.indexOf(searchKey) != -1) {
...
}
答案 2 :(得分:0)
我在代码中看到错误。 for(i = 0; i&lt; users.length; i ++) 它有效吗?
答案 3 :(得分:0)
使用Ajax和Json将相同和存储的结果用于JS变量
userList = null;
$.getJSON("lookup/users", {name:"",userType:"requester"}, function(users) {
userList = users;
});