Express.js发送数据以通过邮件获取请求

时间:2014-09-24 08:12:35

标签: node.js express

我的表格是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”方法使其可见。我该怎么办?

3 个答案:

答案 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');
 }}
});