Попытка запроса MySql (RDS) из AWS Elasti c Beanstalk. Проблема началась, когда я начал использовать Express и Маршрутизатор.
Я предполагаю, что он идет прямо в файл .e js, а не в файл. js. Следовательно, запрос не выполняется, и соответствующие переменные данные отсутствуют.
Как мне указать моему маршрутизатору (Express) использовать (выполнить). js файл и затем .e js файл?
Мои маршруты. js выглядит так
const express = require('express');
const router = new express.Router();
router.get('/', (req, res) => {
res.render('index');
});
router.get('/testtable', (req, res) => {
res.render('testtable');
});
module.exports = router;
В моей папке маршрутов есть тестовый стол. js файл
exports.list = function(req, res){
req.getConnection(function(err,connection){
var query = connection.query('SELECT * FROM eduguy.mymailer',function(err,rows){
if(err)
console.log("Error Selecting------------xxxxx : %s ",err );
res.render('testtable',{page_title:"Test Table",data:rows});
});
});
};
И в моей папке просмотров есть testtable.e js вот так.
<html>
<head>
<title>Elastic Beanstalk</title>
</head>
<body>
<table border="1" cellpadding="7" cellspacing="7" align="center">
<caption>Email Lists</caption>
<tr>
<th width="50px"> <input type="checkbox" name="all" value="all" onclick="for(c in document.getElementsByName('row')) document.getElementsByName('row').item(c).checked = this.checked"> </th>
<th width="50px">No</th>
<th>Field 1</th>
<th>Field 2</th>
<th>Field 3</th>
</tr>
<% if(data.length){
for(var i = 0;i < data.length;i++) { %>
<tr>
<td> <input type="checkbox" name="row" value="<%=data[i].email%>"></td>
<td><%=(i+1)%></td>
<td><%=data[i].name%></td>
<td><%=data[i].email%></td>
<td><%=data[i].column1%></td>
</tr>
<% }
}else{ %>
<tr>
<td colspan="3">No user</td>
</tr>
<% } %>
</table>
</body>
</html>