读者,
背景: 我有一个带有提交按钮的 html 页面。单击此按钮会转到 servlet 并从我的数据库中获取前 10 行数据。然后我通过 ajax 调用将这些数据返回给我的 javascript。一切正常。我可以在我的 javascript 中看到 json 格式的数据。
问题:
返回数据后,它会转到一个名为生成表的方法。但该表从未显示在我的 html 页面上。我试着按照这个演示 approach .调用此方法后如何绘制表格? <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
所以我有数据。但是,我的 html 页面上没有绘制任何数据库。这是相关的 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 的错误。所以我不知道我做错了什么?
最佳答案
tablecontents+="</table>"
代替tablecontents="</table>"
关于javascript - 为什么我不能动态绘制表格?我怎样才能画出 table ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17932821/