javascript - 快速表单解析不起作用

标签 javascript json node.js express pug

我一直在使用 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);

形式( Jade ):

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

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

最佳答案

bodyparser.json() 仅解析包含 JSON 数据的请求。您需要使用bodyparser.urlencoded():

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

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

关于javascript - 快速表单解析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24790536/

相关文章:

javascript - 在 JavaScript 中合并图像

javascript - Uncaught ReferenceError : message is not defined?

javascript - 如何获取 JavaScript 对象中给定键/值的路径?

javascript - http.get 到包含动态值的 url

javascript - 错误 : Connect ENETUNREACH

javascript - 如何更改对话框组件中的默认动画?

javascript - Discord.JS启动和停止机器人

arrays - 在 JSON 模式中定义枚举数组的正确方法

node.js - fluent-ffmpeg 进程停止

javascript - 如何使用 segment 属性根据图表 js 中的值对线条/边框颜色进行着色?