首页 > 解决方案 > 一旦变量在服务器端发生变化而不刷新就更新ejs页面变量

问题描述

我想用节点服务器和 EJS 制作一个动态页面。而且我在服务器端有一些变化的变量。而且我想知道一旦服务器中的任何变量发生更改,是否可以更新页面的内容(那些变量)。无需提神。

我读过一些地方,使用 Ajax 并发送获取请求,我可以获得更新的数据。但由于它不是同时发生的,我想知道,是否有可能同时发生?

为简单起见,我编写了一个非常简单的代码。使用在服务器端增加的整数变量。和一个简单的“index.ejs”在网络中显示该变量。但我不知道如何使该内容动态化,因为该变量在服务器端发生变化。提前致谢。

服务器端:app.js

const express = require("express");
const ejs = require('ejs');

const app = express();
app.set('view engine', 'ejs');

app.use(express.static("public"));

app.listen(3000 , function(){
    console.log("Server on port 3000");
});

var i=0;

setInterval(function(){
    i++;
} , 1000);

app.get("/" , function(req , res){
    res.render("index" , {var : i} );
});

客户端:index.ejs

<html>
    <head>
        
    </head>
    <body>

        <p>My Variable is <span><%= var %></span></p>            

    </body>

</html>

标签: javascriptnode.jsejs

解决方案


推荐阅读