Javascript 如何将变量从node.js传递到html
我是node.js开发者的新手 我目前正在编写一个程序,程序结构如下:Javascript 如何将变量从node.js传递到html,javascript,html,node.js,handlebars.js,Javascript,Html,Node.js,Handlebars.js,我是node.js开发者的新手 我目前正在编写一个程序,程序结构如下: view | |--- booking.handlebars (HTML program) | routes | |--- booking.js (node.js JavaScript program) | 当用户访问“dashboard”页面时,“booking.js”将连接到mongodb,从数据库“booking”中检索所有“bookings”记录。然后,我的目标是将获取的“bookings”对象传递给“
view
|
|--- booking.handlebars (HTML program)
|
routes
|
|--- booking.js (node.js JavaScript program)
|
当用户访问“dashboard”页面时,“booking.js”将连接到mongodb,从数据库“booking”中检索所有“bookings”记录。然后,我的目标是将获取的“bookings”对象传递给“booking.handlebar”HTML文件
然而,我无法实现这个目标
我考虑过很多选择,包括使用全局变量从stackoverflow中搜索线程;生成JSON文件,然后将JSON文件读回,等等。但这似乎不起作用
我想寻求您的帮助,如何将所有对象值从JavaScript程序传递到HTML
下面是我的代码:
booking.handlebar(HTML程序)
如果您想将数据从node.js发送到html,您应该使用ejs模块。要从数据库中获取结果,您应该使用mongoose模块。我理解您;但我在电话上写,我不会写代码 如果您可以获得使用mongoose或不使用mongoose的预订结果,您可以使用express发送到html,如下所示 用于将ejs文件与express.js一起使用
app.engine('.ejs',ejs.\uu express);app.set('views','u dirname+'/views')代码>
要发送到html,请执行以下操作:
res.render('./dashboard.ejs',{booking:booking})
在dashboard.ejs中:
<span><%-booking.username%></span>//booking is what you sent with res.render
//预订是您使用res.render发送的内容
注1:创建viesw文件夹并在视图文件夹中创建dashboard.ejs。
注2安装ejs和mongoose模块。
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;
<span><%-booking.username%></span>//booking is what you sent with res.render