提交表单后Node JS重定向
Posted
技术标签:
【中文标题】提交表单后Node JS重定向【英文标题】:Node JS redirection after submiting a form 【发布时间】:2014-11-11 18:26:37 【问题描述】:我的节点应用程序有一个 html 表单,如果它被提交,它会显示 /code 和文本,但仅此而已,我无法重定向到我的主页。使用 Timer 提交到另一个页面后如何重定向?我尝试在 app.post 和客户端执行此操作,但它不起作用
<form action="/code" method="post" >
<fieldset>
<input type="text" name="code" id="code"
style="text-align: center"
placeholder="Enter Code" /> <br> <br> <input
type="submit" class="btn btn-success" name="submit" id="submit"
value=" authentifizieren " />
</fieldset>
</form>
App.js
app.post('/code', function(req, res)
var code = req.param("code");
res.writeHead(200, 'Content-Type': 'text/html');
res.write('Code: '+code+');
res.end();
);
我只想从 app.post /code 重定向回我的主页或任何其他网站。
【问题讨论】:
你能在客户端处理重定向(通过 ajax 成功方法)并从服务器上的 post 调用返回 res.send(200) 吗?看来这就是要走的路。 你能从服务器重定向吗?为什么不呢? 【参考方案1】:Redirects 在 Node JS 中:
res.writeHead(302,
'Location': 'http://example.com/'
);
res.end();
如果你想在客户端做,在 Node JS 中:
res.writeHead(200, 'Content-Type': 'text/html');
res.write('Code: '+code);
res.write('<script>setTimeout(function () window.location.href = "http://example.com/"; , 5000);</script>');
res.end();
【讨论】:
【参考方案2】:res.writeHead(200, 'Content-Type': 'text/html');
res.write('Code: '+code);
res.write('<script>setTimeout(function () window.location.href = "http://example.com/"; , 5000);</script>');
res.end();
【讨论】:
【参考方案3】:纯node js中可以做两种重定向
1)在同一站点内
res.writeHead(301, "Location": "/blog/thank-you");
return res.end();
2)到外部网站
res.redirect("https://***.com/");
【讨论】:
以上是关于提交表单后Node JS重定向的主要内容,如果未能解决你的问题,请参考以下文章