我要从后台查询出一些东西显示在一张表格中,单击按钮出发事件,但是结果为什么只是闪一下就没了。
页面很简单,就是一个按钮用来触发事件,点击按钮让返回的数据显示在表格中。服务器没问题能接受请求和响应,就是前台的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>
页面很简单,就是一个按钮用来触发事件,点击按钮让返回的数据显示在表格中。服务器没问题能接受请求和响应,就是前台的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>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货