gpt4 book ai didi

javascript - 如何将变量从node.js传递到html

转载 作者:行者123 更新时间:2023-12-03 02:10:34 25 4
gpt4 key购买 nike

我是node.js开发新手

我目前正在编写一个具有以下程序结构的程序:

view
|
|--- booking.handlebars (HTML program)
|
routes
|
|--- booking.js (node.js JavaScript program)
|

当用户访问“dashboard”页面时,“booking.js”将连接到 mongodb 以从数据库“Booking”中检索所有“bookings”记录。然后,我的目标是将获取的“bookings”对象传递给“booking.handlebars”HTML 文件。

但是,我无法实现这个目标。

我想过很多替代方案,包括使用全局变量从 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(node.js JavaScript 程序)

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.log(booking);
bookingRecord = booking;
db.close();
});
});

res.redirect('/users/dashboard');
});


module.exports = router;

最佳答案

如果你想从node.js发送数据到html,你应该使用ejs模块。要从数据库获取结果,你应该使用mongoose模块。我理解你;但我在手机上写,我不会写代码。

如果你能得到带 Mongoose 或不带 Mongoose 的预订结果,你可以像这样用 express 发送到html。

用于将 ejs 文件与express.js 一起使用

app.engine('.ejs', ejs.__express);app.set('views',__dirname+'/views');

发送到 html:

res.render('./dashboard.ejs',{booking:booking})

在仪表板.ejs 中:

<span><%-booking.username%></span>//booking is what you sent with res.render  

注1创建views文件夹并在views文件夹中创建dashboard.ejs。Note2安装ejs和mongoose模块。

关于javascript - 如何将变量从node.js传递到html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49590248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com