最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何将变量从nodejs文件发送到ejs文件

运维笔记admin18浏览0评论

如何将变量从nodejs文件发送到ejs文件

如何将变量从nodejs文件发送到ejs文件

var express = require('express');
var app = express();
app.use("/", function(request, response){
  var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("Test");
  dbo.collection("users").find({}, { "name":"John" }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    // res.sendFile(__dirname + "/views/index.ejs");
   
    db.close();
  });
});
});
app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});
<!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="./index.js"></script>
    <title>Document</title>
</head>
<body>
    <h1 id="result"><%=result%></h1>
</body>
</html>
回答如下:

为此,您必须使用express res.render()根据文档

res.render(view [,locals] [,callback])渲染视图,并将渲染的HTML字符串发送到客户端。可选参数:locals,一个对象,其属性定义视图的局部变量。

您应该使用这样的东西

  res.render('index',{result});

然后您就可以访问您在index.ejs文件中发送的值,但是我建议您在应用程序中明确声明 您正在使用ejs,这样您就可以not必须像以前一样,在代码末尾经历重新陈述的过程 ejs此代码var app = express()之后的顶部你可以说

app.set("view engine", "ejs");
发布评论

评论列表(0)

  1. 暂无评论