Node.js 如何对ejs多次使用res.render?
我试图在nodeJS应用程序中调用res.render两次,但每次调用时都会出现错误。有人知道我如何在应用程序中调用res.render两次而不切换文件吗?或者将其包含在所有一个res中,呈现或更改导演Node.js 如何对ejs多次使用res.render?,node.js,express,render,ejs,Node.js,Express,Render,Ejs,我试图在nodeJS应用程序中调用res.render两次,但每次调用时都会出现错误。有人知道我如何在应用程序中调用res.render两次而不切换文件吗?或者将其包含在所有一个res中,呈现或更改导演 var express = require("express"); var app = express(); app.set("view engine", "ejs"); app.get("/", function (req, res) { res.render("index", {
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");
});
我知道上面的代码不起作用。我想知道如何在代码编写过程中的不同时间发送数据和名称。我也看到了同样的问题,因为在处理从服务器收到的第一个json响应时,发生了多个异步http调用,我必须等待所有调用完成,然后才能呈现响应。我解决这个问题的方法是,我保留了一个计数器,记录我必须发出多少http请求,然后在此之后调用res.render。希望这有帮助 我不知道你要做什么。但是,如果您只想呈现带有“data”和“name”的“index.ejs”文件,您可以简单地将它们放在一起,如下所示
app.get("/", function (req, res) {
res.render("index", {
data: "Hello, guys",
name: "Hello, again"
});
});
你想做的事没有多大意义。当处理程序两次尝试发送响应头时,您应该会收到一个错误,这是错误的。你到底想达到什么目的?我知道上述方法行不通。我只是看看如何在代码编写过程中的不同时间发送数据和名称。这不是HTTP的工作方式。您应该发送2个HTTP请求以获得2个不同的响应。