【问题标题】:Express form parsing not working快速表单解析不起作用
【发布时间】:2014-09-07 13:22:21
【问题描述】:

我一直在使用 Express.js 和 body-parser 模块将表单解析到服务器。但是,当接收到内容时,res.body 它只是显示为一个空对象。

app.js:

var express = require("express");
var app = express();
var bp = require("body-parser");

app.set('views', __dirname + '/views');

app.use(bp.json());
app.use(express.static(__dirname + '/public'));

app.get('/', function (req, res) {
  res.render('index.jade');
});

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

app.listen(process.env.PORT || 5000);

形式(翡翠):

form(method="post", action="/", enctype="application/json")
    input(type="text", name="name", placeholder="input your name")

为什么会这样?如何解决?

【问题讨论】:

    标签: javascript json node.js express pug


    【解决方案1】:

    bodyparser.json() 只解析带有 JSON 数据的请求。你需要使用bodyparser.urlencoded():

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

    extended: false 表示不处理嵌套值,例如foo[bar]=baz。如果要支持嵌套值,可以将其切换为 true。

    【讨论】:

      猜你喜欢
      • 2015-12-08
      • 2018-07-27
      • 1970-01-01
      • 2015-12-28
      • 2014-10-14
      • 2018-07-08
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多