首页 > 解决方案 > Post 方法值在节点 js 中返回 null

问题描述

提交表单时,表单字段值未出现在 post 方法中。

这是 index.html 文件中的代码

<form method="POST" action="http://localhost:4000/insertion">
    <div class="form-group">
        <label>E-Mail</label>
        <input type="text" name="email" class="form-control" >
    </div>
    <div class="form-group">
        <label>Password</label>
        <input type="password" name="password" class="form-control" >
    </div>
    <div class="form-group">
        <label>&nbsp;</label>
        <input type="submit" name="submit" class="btn btn-primary" value="Submit">
    </div>
</form>

在服务器端脚本代码是

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

var app = express();

app.use(bodyParser.json())

app.use(cors());

app.post('/insertion',function(request,response){
    console.log(request.body);
});

app.get('/index',function(request,response){
    response.send('hi ');
});

app.listen(4000);

它没有显示任何错误,但值为空

标签: node.jsexpress

解决方案


您需要使用bodyParser.urlencoded来读取表单数据。

添加这个,然后再试一次。

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

推荐阅读