Я новичок в разработке node.js
В настоящее время я пишу программу со следующей структурой программы:
view
|
|--- booking.handlebars (HTML program)
|
routes
|
|--- booking.js (node.js JavaScript program)
|
Когда пользователи получают доступ к странице «панели управления», «booking.js» подключается к mongodb, чтобы получить все записи «бронирования» из базы данных «Бронирование». Затем моя цель - передать полученный объект "bookings" в HTML-файл "booking.handlebars".
Однако я не могу достичь этой цели.
Я придумал много альтернатив, включая поиск потоков из stackoverflow с использованием глобальной переменной; создание файла JSON, а затем чтение файла JSON обратно и т. д. Но, похоже, это не работает.
Я хотел бы получить вашу помощь в том, как передать все значения объектов из программы JavaScript в HTML.
Ниже мой код:
booking.handlebars (программа HTML)
<div>
<div>
<table>
<tbody>
<tr>
<td>{{user.username}}</td>
<td>{{booking}}</td>
<td>{{req.booking}}</td>
<td>{{bookingRecord}}</td>
<td>{{bookings.booking}}</td>
</tr>
</tbody>
</table>
</div>
</div>
booking.js (программа JavaScript node.js)
var express = require('express');
var router = express.Router();
var bookingRecord = null;
router.get('/dashboard', function(req, res){
res.render('dashboard');
});
router.post('/dashboard',
function(req, res) {
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("booking");
dbo.collection("bookings").find().toArray(function(err, booking) {
if (err) throw err;
console.info(booking);
bookingRecord = booking;
db.close();
});
});
res.redirect('/users/dashboard');
});
module.exports = router;



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы хотите отправлять данные из node.js в html, вам следует использовать модуль ejs. Для получения результатов из базы данных вы должны использовать модуль mongoose. Я вас понимаю; но я пишу по телефону и не могу писать код.
Если вы можете получить результат бронирования с использованием мангуста или без мангуста, вы можете отправить его с помощью express в html следующим образом.
Для использования файла ejs с express.js
app.engine('.ejs', ejs.__express);app.set('views',__dirname+'/views');
Для отправки в html:
res.render('./dashboard.ejs',{booking:booking})
В dashboard.ejs:
<span><%-booking.username%></span>//booking is what you sent with res.render
Note1 создайте папку viesw и создайте dashboard.ejs в папке представлений. Note2 устанавливает модули ejs и mongoose.