问题描述
我通过了要在我的哈巴狗文件中渲染的函数。我想要的是单击按钮时,该功能应该启动,但是当我进入站点时该功能启动。下面是我如何通过函数并在PUG文件中使用它的方法
路由器
const start = require('../bot')
exports.home = (req,res) => {
res.render('home',{
functionOne: start.mainFunction()
});
}
PUG文件
html
head
link(rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700")
link(rel="stylesheet" href="/css/main.css")
body
button(type="button" id="mybutton" onclick="functionOne")
解决方法
res.render语句仅用于将数据发送到模板,您不能通过那里发送函数。 Express documentation对此进行了解释。
当您请求页面时该函数正在运行,因为实际上是您在其中包含该函数时要告诉它执行的操作。
您将需要编写一些客户端JavaScript来进行AJAX调用或形成POST,然后在服务器上创建新的ExpressJS路由以捕获该路由并运行该函数。