我有用例需要渲染后跟重定向.渲染应该使用继承视图模型然后重定向到主页来通知用户成功的事务.以下是所需的代码:
router.post('/posturi',function(req,res,next) { //Call few services if(err){ return res.render('/errorpage') } res.render('/transaction page'); //TimeOut function goes here res.redirect('/home'); });
解决方法
正如其他人所说,使用302状态时,您不能同时拥有重定向和渲染内容.但是,你可以做的是使用渲染的内容返回200状态,然后使用< Meta>标签或页面本身的setTimeout()进行重定向.这将简要显示内容(无论您想要设置多长时间),然后重定向到新页面.
例如,您可以将其放在实际的页面内容中,以便浏览器本身在显示您的内容后进行重定向:
<script> setTimeout(function() { window.location.replace("http://whatever.com/newpage.html") },2000); </script>
或这个:
<Meta http-equiv="refresh" content="2;url=http://whatever.com/newpage.html">