Nodejs中ejs文件里setTimeout函数怎么用
Nodejs中ejs文件里setTimeout函数怎么用
在ejs文件里面 写 setTimeout(function(){ console.log(“vvvvv”); 这个是起效的 如果想输出内容到浏览器怎么弄 比如php 的 echo “vvvv”; },10000);
在 EJS 文件中使用 setTimeout
函数时,你需要理解 setTimeout
是一个客户端定时器,它运行在用户的浏览器中。因此,如果你想在 EJS 文件中使用 setTimeout
来向浏览器输出内容,你应该直接操作 DOM 或者通过异步请求更新页面内容。
EJS 主要用于服务器端渲染,而 setTimeout
通常用于客户端的交互逻辑。如果你想在 EJS 中预渲染一些数据,你可以直接使用 EJS 的模板语法,例如 <%= data %>
来插入变量。
下面我将展示如何在 EJS 文件中使用 setTimeout
函数,并在浏览器中输出内容:
示例代码
server.js:
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
const message = "Hello from server!";
res.render('index', { message });
});
app.listen(3000, () => console.log('Server running on port 3000'));
views/index.ejs:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>EJS with setTimeout</title>
<script>
// 当页面加载完成后执行
document.addEventListener("DOMContentLoaded", function() {
// 使用 setTimeout 定义一个 10 秒后执行的函数
setTimeout(function() {
// 更新页面上的内容
document.getElementById('message').innerText = "<%= message %>";
}, 10000);
});
</script>
</head>
<body>
<h1 id="message"></h1>
</body>
</html>
在这个例子中,我们首先通过 Express 渲染了一个 EJS 模板,并传递了一个变量 message
到前端。在 EJS 模板中,我们定义了一个脚本,在页面加载完成后(通过 DOMContentLoaded
事件),设置了一个 10 秒的延迟,然后更新了页面上 ID 为 message
的元素的内容。注意这里的 <%= message %>
会在服务器端渲染时被替换为实际值。
希望这能帮助你理解如何在 EJS 文件中使用 setTimeout
函数以及如何在浏览器中输出内容。