gpt4 book ai didi

javascript - Express.JS 中的前端重定向

转载 作者:行者123 更新时间:2023-12-03 03:05:43 24 4
gpt4 key购买 nike

我正在使用 EJSExpress.JS 制作一个有点复杂的页面。我会稍微简化一下:

第一个应用程序以简单的方式加载/update并呈现它:

app.get('/update', (req, res) => {
res.render('update');
});

render 函数中的

update 是一个 EJS 模板。其外观如下:

...
<div id="progress"></div>
<button id="perform" type="button" class="btn btn-default">Download & Update</button>
<script>
$('#perform').click(function() {
$('#perform').hide();
$('#progress').load('/perform');
});
</script>
...

正如您在单击按钮时所看到的,应用程序将 /perform express.js 路由加载到特定的 div 中。以下是它在 Node.JS 端的作用:

app.get('/perform', function(req, res) {
//Renders div
res.render('perform')

//Does some actions in 1-2 minues.

//Here I want it to redirect to / of application.
});

使用 res.render() 返回一些内容后,应用程序开始执行一些进程。它们大约需要 1 分钟,完成后我希望应用程序重定向到 /。我尝试过使用 res.redirect('/') 等,但没有任何效果。也许以某种方式它应该告诉浏览器重定向..

我在这里能做什么?

最佳答案

您通过ajax加载“/perform”,因此您只能发送响应(您可以使用res.render('perform')来发送响应)

所以你应该在客户端进行重定向

您可以通过轮询、超时甚至更好的方式来完成此操作,您可以使用 socket.io 在操作完成时从服务器向客户端发出信号。

关于javascript - Express.JS 中的前端重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com