【发布时间】:2018-04-24 19:07:53
【问题描述】:
我有一个 javascript 函数,它从数据库中提取数据,将其放入 html 表中,然后通过 document.getElementById 命令将该表放入 HTML 页面中。一切正常,除了当我加载 HTML 页面时,数据不在表中。我正在使用 innerHTML 属性将表格放在页面上。我的问题是,这是将表格填充到 HTML 页面的有效方式吗?我已经在下面发布了相关代码。
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<strong class="card-title">Data Table</strong>
</div>
<div class="card-body">
<table id="results-data-table" class="table table-striped table-bordered">
<!-- I am trying to put the html here from javascript
</table>
</div>
</div>
</div>
</div>
</div><!-- .animated -->
</div><!-- .content -->
<script src="../controllers/query.js">getData()</script>
<script src="assets/js/vendor/jquery-2.1.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js"></script>
<script src="assets/js/plugins.js"></script>
<script src="assets/js/main.js"></script>
Javascript:
function getData() {
var sql = require("mssql");
var dbConfig={
server:"server",
database: "db",
user:"user",
password: "pw"
}
var conn = new sql.Connection(dbConfig);
var req = new sql.Request(conn);
conn.connect(function (err){
if (err) {
console.log(err);
return;
}
req.query("SELECT * FROM table",resultsCallback)
conn.close();
});
}
function resultsCallback (err, recordset) {
var tableify = require('tableify');
if (err) {
console.log(err);
}
else {
var html = tableify(recordset);
html = html.replace('<table>','');
html = html.replace('</table>','');
document.getElementById("results-data-table").innerHTML=html;
}
};
【问题讨论】:
-
如果它实现了你的目标,它就是有效的。
-
那为什么不向表格显示任何数据呢? @DanBracuk
标签: javascript html sql database twitter-bootstrap