通过节点从post请求中获取表单数据?

时间:2016-02-10 20:43:24

标签: node.js

我试图看看我是否可以从表单输入中获取值,但是目前,我什么都没抓。我是否需要更改表单信息以使输入与表单相关联?或者我在发布请求代码中完全不合适?我想当我点击提交按钮时,会触发发布请求,而这样做是因为我确实被发送到" Great"响应。但是在控制台中,body对象始终为空。

var request = require('request');
var cheerio = require('cheerio');
var express = require('express');
var bodyParser = require('body-parser');
var app = express();

app.get('/', function(req, res) {
  res.send(`
  <html>
    <body>
      <form action="http://localhost:3000/" method="post">
        <input type="text" name="fname" value="great"><br>
        <input type="text" name='lname' value="stuff"></br>
        <input type="submit" value="Submit">
      </form>
    </body>
  </html>
    `);
});
app.use(bodyParser.json())
app.post('/', function(req, res) {
  console.log(req.body);
  res.send('Great');
})

app.listen(3000);

1 个答案:

答案 0 :(得分:0)

像这样:

app.post('/', function (req, res) {
    var body = '';

    req.on('data', function(chunk) {
        body += chunk;
    });

    req.on('end', function () {
        res.writeHead(200, 'OK', {'Content-Type': 'text/plain'});
        res.write(body);
        res.end ();
    });
});

所以,例如,如果你POST&#34;你好&#34;,这将写出&#34;你好&#34;在res.write (body);