首先,对 Node 和 express 来说非常新。我正在尝试使用两个不同的查询结果填充两个下拉列表。例如,我想要两个下拉菜单,date
另一个是name
.
我尝试为 做一个下拉菜单,date
效果很好。但是,当我尝试同时执行这两项操作时,不断收到此错误:names is not defined
.
路由器.js
const express = require('express')
const router = express.Router()
const { conn } = require('./config')
router.get('/', async (req, res) => {
try {
var dates = conn.query('select date from table', function(req, result){
console.log(result);
res.render('index', {dates : result});
});
} catch (err) {
res.status(500)
res.send(err.message)
}
});
router.get('/', async (req, res) => {
try {
var names = conn.query('select name from table2', function(req, result){
console.log(result);
res.render('index', {names : result});
});
} catch (err) {
res.status(500)
res.send(err.message)
}
});
索引.ejs
<div class="Date_Dropdown">
<span class="caret"></span></button>
<ul class="dropdown-menu">
<% for(var i=0; i < dates.recordset.length; i++) { %>
<li><%= dates.recordset[i].Date%></li>
<% } %>
</ul>
</div>
<div class="Name_Dropdown">
<span class="caret"></span></button>
<ul class="dropdown-menu">
<% for(var n=0; n < names.recordset.length; n++) { %>
<li><%= names.recordset[n].Name%></li>
<% } %>
</ul>
</div>
应用程序.js
app.use('/', router);
我正在尝试实现两个下拉菜单,一个用于日期,一个用于名称,它不断抛出此错误:
names is not defined at eval (eval at compile (), <anonymous>:20:25) at returnedFn () at tryHandleCache () at View.exports.renderFile [as engine] (Desktop\Node\node_modules\ejs\lib\ejs.js:482:10) at View.render (Desktop\Node\node_modules\express\lib\view.js:135:8) at tryRender (Desktop\Node\node_modules\express\lib\application.js:640:10) at Function.render (Desktop\Node\node_modules\express\lib\application.js:592:3) at ServerResponse.render (Desktop\Node\node_modules\express\lib\response.js:1008:7) at Desktop\Node\model\router.js:25:13 at _query (Desktop\Node\node_modules\mssql\lib\base.js:1347:9)
处理相同/
路线的两个函数将不起作用。里面只有一个和这个
...
try {
var dates = await conn.query('select date from table');
var names = await conn.query('select name from table2')'
res.render( 'index', {dates : dates, names: names} );
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句