我有一个带有两个选择菜单的页面和一个用于显示数据的表格。我从MySQL中使用“获取”获取数据并填充了选择菜单,现在当我单击“提交”按钮时,它将在下表中显示数据,而无需刷新页面。我是新来的。
App.js
app.get('/home', function(req, res){
db.connect(function(err){
var sale = req.query.cbosale;
var company = req.query.cbocompany;
db.query("SELECT DISTINCT(SaleNo) FROM tsales; SELECT DISTINCT(Company) FROM tcompany; SELECT * FROM trecords WHERE SaleNo = '"+sale+"' AND Company = '"+company+"'", [1,2,3], function(err, result, fields){
res.render('home', {title:"Home",data:result});
})
})
})
Home.jade
script.
$('#submit').click(function(){
var cbosale = $('#cbosale').val();
var cbocompany = $('#cbocompany').val();
$.get("/home", {cbosale: cbosale, cbocompany: cbocompany), function(data){
$('#showdata').show();
})
})
})
当我在查询中插入静态变量时,将显示数据,传递参数不会显示数据。获取参数时可能会出现问题。
答案 0 :(得分:0)
我立即发现您的代码有两个问题。
最重要的-不是主题,而是重要的-您的服务器容易受到SQL注入的攻击-这是主要的安全漏洞,应修复它。例如,请参见:Preventing SQL injection in Node.js
关于您的主要问题。您根本没有消耗请求的结果。
回调的data
根本没有使用。您的$.get
回调应类似于以下内容:
function(data){
$('#dataTitle').val(data.title);
$('#dataResult').val(data.result); // assuming result is plain string or number
$('#showdata').show();
}