我如何多次使用res.render进行ejs?

时间:2015-10-11 18:57:00

标签: node.js express render ejs

我正在尝试在我的nodeJS应用程序中调用res.render两次,但是当我这样做时,我一直收到错误。有没有人知道如何在我的应用程序中调用res.render两次,而无需切换文件?或者将其包括在所有一个resrenrender或更改导演?

var express = require("express");
var app = express();
app.set("view engine", "ejs");
app.get("/", function (req, res) {
    res.render("index", {
        data: "Hello, guys",
    });
    res.render("index", {
        name: "Hello, again",
    });
});

app.listen(10022, function () {
    console.log("server is up");
});

我知道上面的代码不起作用。我想知道如何在代码中的不同时间发送数据和命名。

2 个答案:

答案 0 :(得分:0)

我看到了同样的问题,因为我在处理我从服务器获得的第一个json响应时发生了多次异步http调用,我不得不在呈现响应之前等待所有这些响应完成。我解决这个问题的方法是,我保留了一个计数器来确定我必须进行多少http请求,然后再调用res.render。希望这可以帮助。

答案 1 :(得分:0)

我不确定你要做什么。但是,如果您只想使用'data'和'name'渲染'index.ejs'文件,您可以简单地将它们放在一起,如下所示。

app.get("/", function (req, res) {
    res.render("index", {
        data: "Hello, guys",
        name: "Hello, again"
    });
});