在javascript中,带中括号的表示数组,带大括号的表示对象,对象里的属性及其值的表示方法为“属性名”:“属性值”,多属性间用逗号分隔。
所以根据上面的分析可以得知,你的xmlHttp.responseText返回的数据是一个对象数组。但它是一个字符串,你需要经过转换把它表示成一个数组。如果不用jquery等第三方框架所提供的转换方法,最常用的就是用javascript的eval方法。具体做法如下:
var resultStr = xmlHttp.responseText;
var resultData = eval("("+resultStr+")");
这样,resultData变量就是一个对象数组,就可以利用javascript访问数组的方法来访问数组里的数据了。比如。resultData[1].name的值就是“关羽”,注意,数据下标从0开始。
var userlist=eval("("+xmlHttp.responseText+")");
for (var i=0;i
var str=user.id+"--"+user.name+"--"+user.password;
document.getElementById("divid").innerHTML=str;
}
JSP使用EL表达式即可得到request中的数据。
如果在servlet中没有出错打印输出的数据都正常。
JSP中取jMail就直接写 ${ jMail } 就取到了。
但是你少了转发的过程,servlet中处理完后没有把请求传递给JSP页面就直接结束了。
在处理完成 后面要加上转发或者跳转的语句。
要传递参数就需要用转发:加上request.getRequestDispatcher("路径").forward(request,response);
路径位置写要转发到的目标JSP的位置。
对返回的json解析,将得到的值用js的innerHTML写入到指定位置;
demo:
xmlHttp.get("password").toString() 得到password的值
document.getElementById('写入层的id').innerHTML='xmlHttp.get("password").toString() ';
给div添加一个id属性 如: