我有类型的地图Map<String,UserForm>
哪里
Class UserForm {
String userName;
String password;
//setters ;
//getters;
}
Map<String,UserForm> userMap=new HashMap<String,UserForm>();
我将
userMap
添加到json对象,然后通过ajax调用将该对象发送到JSP页面。在javascript中,我需要遍历userMap
并打印其属性(用户名和密码)。这是我到目前为止所做的
for(var i in ajaxResponseData.userMap)
{
if (ajaxResponseData.userMap.hasOwnProperty(i)) {
alert(' Value is: ' + ajaxResponseData.userMap[i].userName);
}
但是以上方法在警报框中显示未定义。请帮忙..
最佳答案
我建议仔细检查响应数据是否以您期望的格式返回,然后尝试访问它。另外,我认为不需要检查它是否具有属性i
,因为您已经对其进行了迭代(因此已找到它)。请尝试以下代码片段:
console.log(ajaxResponseData.userMap); // to see how your data actually looks like
for (var i in ajaxResponseData.userMap) {
// use the key to access the element
console.log(ajaxResponseData.userMap[i]); // is this the value you're looking for?
}
我还在JsFiddle中设置了一个小示例,该示例警告值:https://jsfiddle.net/kd7u4zLt/