POST不能在Node.JS&表达

时间:2017-05-02 05:47:25

标签: javascript node.js express

我正在尝试从html表单获取用户输入但无法检索数据。 这是HTML代码:

<form action="/login" method="POST" enctype="application/x-www-form-urlencoded">
    <div class="form-group">
        <label for="username">Username</label>
        <input type="text" class="form-control" id="username" placeholder="Username">
    </div>
    <div class="form-group">
        <label for="password">Password</label>
        <input type="password" class="form-control" id="password" placeholder="Password">
    </div>
    <button type="submit" class="btn btn-default">Login</button>
</form>

这是Node.JS代码:

var bodyParser = require('body-parser'); 

var express = require('express');

var app = express();

app.use(bodyParser.json());

app.post('/login', function(req, res){
    console.log(req.body);
});

当我在表单上输入数据时,post请求返回{}。然而,使用Postman它工作得很好......

1 个答案:

答案 0 :(得分:1)

您需要使用bodyParser.urlencoded方法才能使其正常运行。

在你的`app.use(bodyParser.json());下面添加以下代码段。言。

app.use(bodyParser.urlencoded({
     extended: true
})); 

希望这有帮助!