【问题标题】:how can i use res.render for ejs multiple times?如何多次将 res.render 用于 ejs?
【发布时间】:2018-06-07 00:31:21
【问题描述】:

我试图在我的 nodeJS 应用程序中调用 res.render 两次,但是当我这样做时我不断收到错误消息。有谁知道我如何在我的应用程序中调用 res.render 两次而不切换文件?或将其包含在所有一个 res.render 中或更改导演?

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");
});

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

【问题讨论】:

  • 您尝试做的事情没有多大意义。当您的处理程序尝试发送响应标头两次时,您应该会收到错误消息,这是错误的。你到底想达到什么目的?
  • 我知道上面的方法行不通。我只是看看如何在代码的不同时间发送数据和名称。
  • 这不是 HTTP 的工作方式。您应该发送 2 个 HTTP 请求以获得 2 个不同的响应。

标签: node.js express render ejs


【解决方案1】:

我看到了同样的问题,因为在处理从服务器获得的第一个 json 响应时,我发生了多个异步 http 调用,我必须等待所有这些调用完成,然后才能呈现响应。我解决这个问题的方法是,我记录了我必须发出多少 http 请求,然后再调用 res.render。希望这可以帮助。

【讨论】:

    【解决方案2】:

    我不确定你要做什么。但是,如果您只想渲染带有“数据”和“名称”的“index.ejs”文件,您可以像下面这样简单地放在一起。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2020-09-23
      相关资源
      最近更新 更多