Как передать переменную из node.js в html

Я новичок в разработке 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;
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
3 340
1

Ответы 1

Если вы хотите отправлять данные из 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.

Другие вопросы по теме