Я действительно новичок в NodeJS. Я пытаюсь понять, есть ли способ использовать NodeJS, такой как JS, я пытаюсь получить информацию из базы данных и отобразить ее внутри div в моем индексе. HTML. Когда я попытался сделать это с помощью queryselector, я получил ошибку, и до сих пор я получал данные на новой странице в виде JSON. У меня есть div в моем файле index.html, который называется content-txt, это место, куда я помещаю ответ. Кроме того, когда я пытаюсь выполнить цикл по строкам, я получаю Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
.
Мой код: app.js:
var express = require('express');
var mysql = require('mysql');
var app = express();
var connect = mysql.createConnection({
// Properties
host: 'localhost',
user: 'root',
password: '',
database: 'dyextension'
});
connect.connect(function(error) {
if(!!error) {
console.log('Could not connect to DB');
} else {
console.log('Successfully connected to DB');
}
});
app.listen(5500, ()=>console.log('Express server is running on port no: 5500'));
// Get all alerts
app.get('/alerts', (req,res)=>{
connect.query('SELECT * FROM alerts', (err,rows,fields)=>{
if(!err){
for(let i=0; i<rows.length; i++){
res.send(`<div>${rows[i].alert_name}</div>`);
}
}
else
console.log(err);
});
});
Index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<!-- Bootstrap CDN -->
<link href="https://stackpath.bootstrapcdn.com/bootswatch/4.3.1/litera/bootstrap.min.css" rel="stylesheet" integrity="sha384-D/7uAka7uwterkSxa2LwZR7RJqH2X6jfmhkJ0vFPGUtPyBMF2WMq9S+f9Ik5jJu1" crossorigin="anonymous">
<title>d</title>
</head>
<body>
<!-- Content here -->
<div class="container" id="content-txt">
</div>
<script src="app.js"></script>
</body>
</html>