在很多时候在服务器端的后台管理页面上需要显示数据库中某张表中的全部字段数据,这时候就需要根据数据库中的数据动态建立表格来显示。
这当然要用javascript实现,并用Ajax实现与服务器后台的Servlet通信。
话不多说上源码:
1 window.onload = function(){ 2 document.getElementById("show").onclick = function(){ 3 // 第一步:创建Ajax引擎 4 var xmlHttp = ajaxFunction(); 5 // 第二步:处理服务器响应数据 6 xmlHttp.onreadystatechange = function(){ 7 if (xmlHttp.readyState == 4) { 8 if (xmlHttp.status == 200 || xmlHttp.status == 304) { 9 // 接收响应结果 10 var data = xmlHttp.responseText; 11 if (data != "" && data != null && data != 0) { 12 document.getElementById("showla").innerHTML = ""; 13 document.getElementById("showTa").innerHTML = "<tr><td style="width:40px;text-align:center;">ID</td>" + 14 "<td style="text-align:center;">搭讪语</td><td style="text-align:center;">地点</td></tr>" 15 for (var i = 0, j = -1, k = 0.1; i < data.length; i++, j--, k++) { 16 var id = eval(data)[i]["_id"]; 17 var wordsString = eval(data)[i]["_content"]; 18 var place = eval(data)[i]["_place"]; 19 var tableStr = "<tr><td id="" + i + ""style="text-align:center;"></td><td id="" + 20 j + 21 ""style="text-align:center;"></td><td id="" + 22 k + 23 ""style="text-align:center;"></td></tr>" 24 document.getElementById("showTa").innerHTML = document.getElementById("showTa").innerHTML + tableStr; 25 document.getElementById(i).innerHTML = id; 26 document.getElementById(j).innerHTML = wordsString; 27 document.getElementById(k).innerHTML = place; 28 } 29 } 30 else 31 if (data == 0) { 32 document.getElementById("showla").innerHTML = "<font color='red'>数据库错误!</font>"; 33 } 34 } 35 } 36 } 37 // 第三步:打开一个连接 38 xmlHttp.open("POST", "../servlet/ShowWordsServlet", true); 39 // 如果是POST请求,需要重新设置编码格式 40 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 41 xmlHttp.send("show=" + "show"); 42 }
其中,接收到的servlet返回的数据格式是json格式,表格的行,列的id是通过i,j,k三个变量动态设置的。
用eval()函数来解析Servlet返回的json数据。json数据中包括的是每个在数据库中查找到的对象,_id是id字段,_content是语句字段,_place是地址字段。
利用for循环读取并组装字符串利用innerHTML显示在jsp页面上。
注意:innerHTML会覆盖之前的内容,所以要用诸如a.innerHTML = a.innerHTML + **;的方式进行追加。
原文地址:https://blog.csdn.net/zxj19880502/article/details/134733653
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_23938.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。