POST无法在Node.JS和Express上运行

w9apscun  于 2023-02-21  发布在  Node.js
关注(0)|答案(2)|浏览(217)

我试图从一个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);
});

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

68bkxrlz

68bkxrlz1#

您需要使用bodyParser.urlencoded方法来使其工作。
在app.use(bodyParser.json())下面添加下面的代码段;'声明。

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

希望这有帮助!

mepcadol

mepcadol2#

快速版本4.16.0之后+

不需要主体解析器包。

import express, { urlencoded } from 'express';

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

相关问题