【发布时间】:2013-10-27 13:50:07
【问题描述】:
我有一个 node/express 应用程序,用于监控我的 MySQL 数据库。 我的页面是这样的:
节点:
app.get('/banners', function(req,res){
connection.query("SELECT * FROM banner_store_idx WHERE id_type='1' ORDER BY id_banner ASC", function selectCb(err, results, fields) {
if (err) {
throw err;
}
res.render('banners', {
title: results[0].title,
results: results
});
});
});
这与这个 Jade 模板有关:
!!!
html
head
body
ul
- each result in results
li(id=result['name_store'])= result['name_store']
div#AJAXresults(style='margin: 0 auto; width: 800px; height: 600px; margin: 0 0 20px 0; border: solid 1px #999; overflow-y: scroll;')
这部分渲染完美。
现在,我想做什么:
当用户单击列表元素之一时,它应该进行 Mysql SELECT 并在 div#AJAXresults 中显示所选表 (name_store) 的结果。
我可以使用 jquery,并通过 php 进行 ajax 调用,但它会破坏目的......我不想链接到另一个页面,我知道该怎么做,我不想要页面刷新...您有什么建议?
编辑:
我可以做类似的事情吗(受此处另一个线程的启发):
$('#id of list elem').click(function() {
$.get('/ajax', {id:elem_id}, function(result) {
$('#AJAXresults').html(result);
}
}
然后在节点中
app.get('/ajax', function(req,res){
connection.query("SELECT * FROM id ", function selectCb(err, results, fields) {
if (err) {
throw err;
}
res.send(results);
});
});
【问题讨论】:
-
AJAX调用的目的是为了避免页面刷新,所以我没有得到你最后的说法……
-
我想避免声明中的php部分...
-
您可以只使用 javascript/jquery 进行 ajax 调用。 $.ajax 为您完成。
标签: javascript mysql node.js express pug