【问题标题】:req.body undefined using post methodreq.body 使用 post 方法未定义
【发布时间】:2017-05-21 00:36:40
【问题描述】:

login.html(我已将其转换为玉)是我在 localhost:3000 打开的登录页面。 我将表单详细信息发送到 index.js(server)。

问题: 在 console.log(username) 上,我得到未定义的输出。请帮忙。 我正确使用了 body-parser 吗?

var express= require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var bodyParser = require('body-parser');

app.use(express.static('./Public'));
app.set('views', __dirname + '/tpl');
app.set('view engine', "jade");
app.engine('jade', require('jade').__express);
app.get("/", function(req, res){
    res.render("login");
});

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

app.post('/', function(req,res) {
    var username = req.body.name;
    console.log(username);
  });

http.listen(3000, function(){
    console.log('listening on *:3000');
});

html代码:(login.html)

<html>
       <body>
          <form action="/" method="post" enctype="multipart/form-data">
             <fieldset>
                <label for="name">Name:</label>
                <input type="text" id="name" name="name" placeholder="Enter your full name" />
                <br />
                <label for="email">Email:</label>
                <input type="email" id="email" name="email" placeholder="Enter your email address" />
                <br />
                <input type="submit" value="Create Profile" />
             </fieldset>
          </form>
          <script>
             var socket = io.connect("http://loacalhost:3000");
          </script>
       </body>
    </html>

【问题讨论】:

    标签: node.js express body-parser


    【解决方案1】:

    如果您查看body-parser 的文档,您会注意到:

    这不处理多部分实体,因为它们的复杂性和 通常大的性质。对于多部分实体,您可能对 以下模块:

    busboy 和 connect-busboy 多方和 connect-multiparty 强大 数

    因此,您必须将 enctype="multipart/form-data" 更改为例如 enctype="application/json" 或使用其他模块。

    希望我对你有所帮助。

    【讨论】:

    • 您能否将我的回答标记为有用并回答您的问题?我真的很感激。
    猜你喜欢
    • 2019-07-04
    • 2012-07-03
    • 1970-01-01
    • 2022-01-01
    • 2017-07-29
    • 2023-04-06
    • 1970-01-01
    • 2012-02-28
    • 2016-09-05
    相关资源
    最近更新 更多