ajax 提交到后台 servlet ,获得一个userList集合,转成json格式返回jsp,怎样将数据显示到指定的div中

2024年11月27日 12:57
有5个网友回答
网友(1):

在javascript中,带中括号的表示数组,带大括号的表示对象,对象里的属性及其值的表示方法为“属性名”:“属性值”,多属性间用逗号分隔。
所以根据上面的分析可以得知,你的xmlHttp.responseText返回的数据是一个对象数组。但它是一个字符串,你需要经过转换把它表示成一个数组。如果不用jquery等第三方框架所提供的转换方法,最常用的就是用javascript的eval方法。具体做法如下:
var resultStr = xmlHttp.responseText;
var resultData = eval("("+resultStr+")");
这样,resultData变量就是一个对象数组,就可以利用javascript访问数组的方法来访问数组里的数据了。比如。resultData[1].name的值就是“关羽”,注意,数据下标从0开始。

网友(2):

var userlist=eval("("+xmlHttp.responseText+")");
for (var i=0;i var user= userlist[i];
var str=user.id+"--"+user.name+"--"+user.password;
document.getElementById("divid").innerHTML=str;
}

网友(3):

JSP使用EL表达式即可得到request中的数据。
如果在servlet中没有出错打印输出的数据都正常。
JSP中取jMail就直接写 ${ jMail } 就取到了。

但是你少了转发的过程,servlet中处理完后没有把请求传递给JSP页面就直接结束了。
在处理完成 后面要加上转发或者跳转的语句。
要传递参数就需要用转发:加上request.getRequestDispatcher("路径").forward(request,response);
路径位置写要转发到的目标JSP的位置。

网友(4):

对返回的json解析,将得到的值用js的innerHTML写入到指定位置;
demo:
xmlHttp.get("password").toString() 得到password的值
document.getElementById('写入层的id').innerHTML='xmlHttp.get("password").toString() ';

网友(5):

给div添加一个id属性 如:


document.getElementById("ttt").innerHTML= <你获得的数据>;