【发布时间】:2017-08-14 07:11:57
【问题描述】:
我正在尝试从我的数据库中获取最新数据并将其附加到我的 HTML 页面上
我的server.js 上有以下代码,每次执行新实例时,我都会从我的数据库中选择最新数据并将其发送到我的index.html
socket.on('new instance', function (data) {
var query = con.query("SELECT * FROM sales_agent WHERE STR_TO_DATE(hour, '%Y-%m-%d %H:%i')" +
" > SUBDATE( CURRENT_TIMESTAMP, INTERVAL 2 HOUR) GROUP BY unq",
function (err, rows, result) {
if (err) throw err;
for (var i in rows) {
io.sockets.emit('active charts', {
msg: rows[i].product,
date: rows[i].date_added,
board: rows[i].type
});
}
});
});
现在在我的 index.html 上,当调用 active charts 时,我会将其附加到 ID 为 chart_content 的 div 中
var $chart = $('#chart_content');
socket.on('active charts', function (data) {
console.log('Data instance called');
$chart.append('<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12"><div class="card"><div class="body' +
' bg-blue-grey">' + data.msg + ' ' + data.board + ' </div></div> </div>');
});
第一次加载时一切正常,正如预期的那样,当我调用新实例时,它再次在我的div 上附加相同的数据,所以我在div 中有重复的数据我研究了一些 jquery 方法,比如@ 987654331@, remove,load,html,replaceWith 先清除 div 但它不像我需要的那样工作。
我的想法是删除 div 的当前内容并使用 append 将其替换为新内容,任何实现此目的的建议,提前致谢!
【问题讨论】: