【问题标题】:using data from database in html javascript在 html javascript 中使用数据库中的数据
【发布时间】:2019-08-22 19:44:30
【问题描述】:

我开发了一个 Android 应用程序,它通过 http 请求在 mongodb 中保存一些数据。一切正常,没关系。现在是项目的第二部分,在 html javascript 中使用这些数据,我不知道该怎么做。

这是来自我的server.js,这是我从数据库中获取数据并将其发送到res.send(data) 中的localhost:3000 的部分。

 app.get('/',(req,res)=> {

      MongoClient.connect(url, { useNewUrlParser: true }, function(err,           
 db) {
        if (err) throw err;
        var dbo = db.db("mydb");
        dbo.collection("date_locatie").find({"imei" : imei_number},              
 function(err, result) {
          if (err) throw err;
          console.log(data.imei);
          res.send(data);
        });
    });
  });

现在我创建了一个名为 mapa.html 的 html 页面,在我将数据从 mongo 传递到节点 (res.send(data)) 之后,我也尝试使用 res.sendFile(path.join(__dirname+'/mapa.html')) 发送 html 页面,似乎 express/node.js 不能这样工作.如果我将res.sendFile 行放在res.send 之后,我会收到一个错误

错误:发送后无法设置标头。

我知道在res.send 之后我不能res.sendFile,但我不知道如何在该 html 页面中使用来自 mongodb 的数据。

【问题讨论】:

    标签: javascript html node.js database mongodb


    【解决方案1】:

    您不能将变量传递给 html 页面。您必须使用模板引擎。我推荐使用 EJS 模板。您可以通过运行npm install ejs 来安装它,然后在您的代码中通过编写app.set('view engine', 'ejs'); 指定您正在使用的模板引擎。您创建的页面必须具有扩展名.ejs。现在您可以使用render 加载页面,如下所示:

    res.render('page name',{
          variables: someVariable
        });
    

    然后在您的模板中使用<%= variables %> 打印传递的变量 希望我的回答有帮助。如果您有任何问题,请随时提出。

    【讨论】:

    • 使用 jquery 不是更简单吗?
    • jQuery 用于前端。您不能将其用于后端。
    • 我从 android 保存位置,我需要在谷歌地图页面上放置一个标记,这就是我在那个位置的 html。我可以使用 EJS 来渲染 google maps 地图吗?
    • 您可以在 EJS 模板中编写任何您想要的 html 标记,并将位置数据传递给它。
    • 这个 res.render 应该在我连接到 mongodb 的 app.get 中?
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2011-07-30
    相关资源
    最近更新 更多