javascript - 如何在 HTML/EJS 页面中将节点 Js sql 查询结果显示为下拉列表
问题描述
我是 Node Js 的新手。目前正在寻找如何显示在 Node Js 中返回的查询值应该显示为选择选项的下拉值。
\views\home.EJS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Get Text Input Field Value in JavaScript</title>
<link rel="stylesheet" type="text/css" href="graphites.css">
</head>
<body>
<h1>Generate the Graph</h1>
<select class="form-control" id="sel1">
<% for(var i=0; i < dropdownVals.length; i++) { %>
<option><%= dropdownVals[i] %></option>
<% } %>
</select>
</select>
<script type="text/javascript" src="graphs.js"></script>
<button class="button" type="button" onclick="getInputValue();">Submit</button>
</body>
</html>
这是我的 app.js
app.js
var express = require('express');
var app = express();
var ejs = require('ejs');
var bodyParser = require("body-parser");
var router = express.Router();
app.set('view engine', 'ejs');
app.get('/', function (req, res) {
var sql = require("mssql");
// config for your database
var config = {
user: 'sa',
password: 'Februarysriram82$',
server: 'MAA-821Z33\\SQLEXPRESS',
database: 'master',
"options": {
"encrypt": true,
"enableArithAbort": true
}
};
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('select ACC_NBR from AUXI where CMPY_ID=00000339', function (err, recordset) {
if (err) console.log(err)
console.log(recordset)
res.render("home", {dropdownVals:recordset});
});
});
});
var server = app.listen(5000, function () {
console.log('Server is running..');
});
我的 package.json
{
"name": "firstnodeapp",
"version": "1.0.0",
"description": "",
"main": "home.js",
"dependencies": {
"body-parser": "^1.19.0",
"ejs": "^3.1.6",
"express.js": "^1.0.0",
"mssql": "^6.3.1"
},
"devDependencies": {},
"scripts": {
"start": "node app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Changan",
"license": "ISC"
}
当我给 npm start 或 node app.js
在控制台中,它正在打印..但在 html 中显示的是空值,,
有人可以帮忙吗?为什么它不显示节点js ..
解决方案
You must register the router and put listen
out.
...
app.use('/', router);
var server = app.listen(5000, function () {
console.log('Server is running..');
});
推荐阅读
- r - R - Markdown - Highcharter - 减少表格中的绘图大小
- c - 在编译时获取 char ptr 的字符串 len
- swift - Swift 在不同的 Mac 上处理应用程序启动路径的方式是否不同?令人沮丧的不一致
- c# - 如何在空的 ASP.NET Web 应用程序模板中与后端通信?
- vue.js - 从 index.js 访问时,本地存储值变为空
- spring-security - spring-security 5.2 中缺少依赖项 org.bouncycastle
- java - 我希望我的变量 value3 使用循环添加 5 十次。但它只添加一次。如何解决这个问题?
- android - Flutter for iOS 和 Android 中的视频播放功能,我们可以隐藏进度条和跳过功能
- kotlin - 科特林。尝试使用具体类型来解析列表和数组
- php - 如何在 PHP 中设置写入慢速文件系统的超时?