node.js - '?' 附近的语法不正确
问题描述
我有 2 个使用 SQL Server 中的查询填充的下拉菜单。根据所选项目,我正在加载不同的 ejs 模板。我在 AJAX 的帮助下完成了这项工作。但是,我希望能够根据所选标准加载数据。例如,如果DD1
选择 asAndrew
和DD2
asDate
表应根据这些条件加载 7 列。
又名
SELECT * FROM exTable x WHERE x.Name = Andrew and x.Date = '4/22/2019
路由器.js
router.get('/', async (req, res) => {
try {
var name = await conn.query("SELECT DISTINCT pr.Name FROM WFS.PRTABLE pr WHERE pr.Functional_Group = 'Test'");
var dates = await conn.query('SELECT r.Date FROM WFS.Dates r');
res.render('index', {name : name , dates: dates});
} catch (err) {
res.status(500)
res.send(err.message)
}
});
router.post('/selection', async (req, res) =>{
try {
var name = await conn.query("SELECT DISTINCT pr.Name FROM WFS.PRTABLE pr WHERE pr.Group = 'Test'");
var dates = await conn.query('SELECT r.Date FROM WFS.Dates r');
var dateID = req.body.Dates;
var nameID = req.body.Names;
var tables = await conn.query("SELECT * FROM WFS.Views v WHERE v.Name = ? AND v.Date = ?", [ nameID , dateID ], function(err){
if(err) throw err;
res.render('selection', {tables: tables, name : name , dates: dates});
});
}
catch (err) {
res.status(500)
res.send(err.message)
}
});
索引.ejs
<script>
$(document).ready(function(){
$('#date').on('change', function(event) {
var dates = $('#selections option:selected').val();
});
$('#name').on('change', function(event) {
var manVal = $('#selection option:selected').val();
alert(manVal);
});
$('#submitData').on('submit', function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "/selection",
data: {dates : dates , manVal: manVal},
success: function() {
alert('success');
}
});
});
});
</script>
<form action="/selection" method="POST">
<select class="DateDD" id="date" name="Dates">
<% for(var n=0; n < dates.recordset.length; n++) { %>
<option><%= dates.recordset[n].Date%></option>
<% } %>
</select>
<select class="NameDD" id="name" name="Names">
<% for(var n=0; n < name.recordset.length; n++) { %>
<option><%= name.recordset[n].Name%></option>
<% } %>
</select>
<input type="submit" name="Submit" id="submitData" class="btn btn-primary" value="View Report" />
</form>
选择.ejs
包含与 INDEX.EJS 相同的内容(除了<script>
标签)和...
<table class="table table-bordered table-condensed table-striped">
<% for(var n=0; n < tables.recordset.length; n++) { %>
<tr>
<td><%=tables.recordset[n].Name%></td>
<td><%=tables.recordset[n].Date%></td>
....
....
....
....
</tr>
<% } %>
</table>
这是我收到的错误:'?' 附近的语法不正确 在我点击提交按钮后。
解决方案
推荐阅读
- c# - 您可以将 Xamarin iOS UIAlertController 操作表设置为多选吗?
- jquery - jquery为每个循环创建一个表
- ms-access - 如何求和具有特定查找字段值的记录数
- node.js - “无法读取未定义的属性‘presigned-expires’”
- html - 在下拉菜单上添加过渡
- ruby-on-rails - redis在rails中使用,有多少使用两个?
- arrays - 将单元格值添加到列表
- javascript - 如何解决 href 标签中的 XSS 漏洞?
- swift - 如何在多个闭包中更改变量并使用结果
- git - bitbucket 管道中的 Git 语法错误:“无法将一些引用推送到 MY_USERNAME”