如何使用expressJS向客户端发送数据

Fel*_*iaz 5 backend node.js express

我将如何从 expressJS 检索数据?也就是说,它不会被覆盖,也不会重定向用户。

<html>
    <body>
        <h1>Retrieved data</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

例如,如果服务器端看起来像这样,我将如何添加它?

var express = require("express");
var app = express();

app.get("/", function (req, res) {
    res.sendFile(__dirname + "/index.html");
    //how do i add data to the <h1> tag
});

app.listen(10022, function () {
    console.log("server is up");
});
Run Code Online (Sandbox Code Playgroud)

Oce*_*uto 6

您将无法使用 .html 文件来完成此操作。您需要一个 EJS 文件。其标记如下所示。

<html>
    <body>
        <h1>Retrieved <%= data %></h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后您将需要 ejs 模块。运行以下 NPM 命令。

npm install ejs

因此,将您的index.html更改为index.ejs,确保它位于名为的目录中views,然后将您的服务器端代码修改为此。

var express = require("express");
var app = express();

app.set("view engine", "ejs");

app.get("/", function (req, res) {
        res.render("index", {data: 'This is the data'});
});

app.listen(10022, function () {
        console.log("server is up");
});
Run Code Online (Sandbox Code Playgroud)

EJS 是一种模板语言,可以转换为 HTML,获取通过渲染方法传入的数据对象,在服务器端渲染它,然后将其发送到浏览器。