我要从后台查询出一些东西显示在一张表格中,单击按钮出发事件,但是结果为什么只是闪一下就没了。
页面很简单,就是一个按钮用来触发事件,点击按钮让返回的数据显示在表格中。服务器没问题能接受请求和响应,就是前台的AJAX受到数据后不显示(其实能显示,就像前面说的闪一下就没了)jsp代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<head>
<title>Insert title here</title>
<script type='text/javascript' src="dwr/util.js"></script>
<script type='text/javascript' src="dwr/engine.js"></script>
<script type='text/javascript' src="dwr/interface/book.js"></script>
<script type="text/javascript">
function get()
{
book.doGet(parseResults);
}
function clearPreviousResult(){
var showbooks = document.getElementById("showbook");
while(showbooks.childNodes.length>0){
  showbooks.removeChild(showbooks.childNodes[0]);
  }
}
  
function parseResults(books){
clearPreviousResult();
  if(books.length>0){
  addTableHeader();
  }
  for(var i = 0;i < books.length;i++)
  {
  addTableRow(books[i]);
  }
}
  
function addTableHeader(){
 var row = document.createElement("tr");
  var cell = createThWithText("书名");
  row.appendChild(cell);
  cell = createThWithText("作者");
  row.appendChild(cell);
  cell = createThWithText("数量");
  row.appendChild(cell);
  document.getElementById("showbook").appendChild(row);
}
  
function createThWithText(text){
  var row = document.createElement("th");
  var cell = document.createTextNode(text);
  row.appendChild(cell);
  return row;
}
  
function addTableRow(books)
{
var row = document.createElement("tr");
  var cell = document.createElement("td");
  var text = document.createTextNode(books.title);
  cell.appendChild(text);
  row.appendChild(cell);
  cell = document.createElement("td");
  text = document.createTextNode(books.author);
  cell.appendChild(text);
  row.appendChild(cell);
cell = document.createElement("td");
  text = document.createTextNode(books.amount);
  cell.appendChild(text);
  row.appendChild(cell);
   document.getElementById("showbook").appendChild(row);
}
</script>
</head>
<body>
<form action="#">
<input type="submit" value="查询所有图书" onclick="get()" />
</form>
<table id="showbooks" border="1">
<tbody id="showbook">
</tbody>
</table>
</body>
</html>