读者,
背景:我有一个带有提交按钮的 html 页面。单击此按钮时,将转到 servlet 并从我的数据库中获取前 10 行数据。然后我通过 ajax 调用将这些数据返回到我的 javascript。这一切都有效。我可以在我的 javascript 中看到 json 格式的数据。
问题:数据返回后,转到一个名为生成表的方法。但该表从未显示在我的 html 页面上。我试图遵循这个演示方法。调用此方法后如何绘制表格?演示中的<p></p>
方法在我提供的链接中也不起作用。
function createTable(result)
{
var length = result.jsonList.length;
var tablecontents = "";
console.log(length);
tablecontents="<table>";
for(var i = 0; i < length; i++)
{
tablecontents += "<tr>"
tablecontents += "<td>" + result.jsonList[i].Id + "</td>"
tablecontents += "</tr>"
console.log(result.jsonList[i].Id);
}
tablecontents="</table>";
document.getElementById("tablespace").innerHTML = tablecontents;
}
好的,所以 console.log 部分给了我以下输出:
1
2
3
4
5
6
7
8
9
10
所以我有数据。但是,我的 htmlpage 上没有绘制任何数据库。以下是相关的 HTML 代码:
<body>
<form id = "submitTable" method="post">
<center><input id="getTable" type="button" value="Table"></center>
<div id="tablespace"></div>
</form>
</body>
我指出按钮调用 ajax。无需向您展示我的 ajax 调用,因为它有效。它在从 servlet 取回数据时调用我的 createTable 函数。我知道它正在工作,因为我可以使用 console.log 打印唯一的数据库 ID。但是,那
document.getElementById("tablespace").innerHTML = tablecontents
不管用?更奇怪的是,当我在 chrome 上运行和查看源代码时。我看不到 html 的错误。所以我不知道我做错了什么?