我的表格是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”方法使其可见。我该怎么办?
答案 0 :(得分:1)
可能有很多方法可以做到这一点。一种选择是将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
的更多文档附加说明:请验证您的输入,处理错误情况,并按照自己的方式构建代码。以上是关于如何使用会话的一个非常基本的例子。
答案 1 :(得分:0)
您可以使用jQuery使用GET方法发送数据:
$.ajax({
type: 'GET',
data: 'Your body content here'
});
或使用终端的卷曲:
curl -XGET -d "Your body content" http://localhost:3000/
答案 2 :(得分:0)
app.get("/", function (req, res) {
if (req.body.something) {
app.get('setKey');
}
res.json(req.body);
});
app.post("/", function (req, res) {
if (req.body.foobar == false) {
app.set('setKey','setValue');
}}
});