我有一个express.js的表单:
app.get("/", function (req, res) {
if (req.body.something) {
// Do something
}
res.send(myform);
});
app.post("/", function (req, res) {
if (req.body.foobar == false) {
// I need to set req.body.something and make it visible to "get"
}}
});
我的表格:
<form method="post" action="/">
<input type="checkbox" name="foobar">
<input type="submit" value="submit">
</form>
我需要一种使用“ post”方法发送数据并通过“ get”方法使其可见的方法。我能怎么做?
最佳答案
可能有多种方法可以做到这一点。一种选择是将POST值存储在会话中。
app.post("/", function (req, res) {
if (req.body.foobar == false) {
//Store foobar from body of POST into the session
req.session.foobar = req.body.foobar;
// Other stuff...
}}
});
app.get("/", function (req, res) {
if (req.body.something) {
// Do something
doStuff(req.session.foobar) // Here we use the foobar set in POST
//DO MORE STUFF
}
res.send(myform);
});
要使用此功能,请先添加类似于以下启用会话的内容。
app.use(session({secret: 'fabecefd-387c-4dc9-a525-25d1fab00330'}));
有关https://github.com/expressjs/session的更多文档
附加说明:请验证您的输入,处理错误情况,并以自己的方式构造代码。上面是关于如何使用会话的非常基本的示例。
关于node.js - Express.js发送数据以通过发布获取请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26011813/