首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs body-parser返回'undefined‘

Nodejs body-parser返回'undefined‘
EN

Stack Overflow用户
提问于 2018-04-06 07:12:08
回答 1查看 65关注 0票数 0

我在做一些在视频教程上看起来很简单的事情时有很多困难。我已经使用带有虚拟html的express设置了一个节点应用程序(通过ejs)。我正在尝试捕获用户通过输入栏(如搜索栏)输入的数据,并尝试验证节点是否正在捕获该数据。

我有一个带有这个表单的ejs文件。

代码语言:javascript
复制
<form action="/input" method="POST" enctype="multipart/form-data">
        <div class="input-group">
            <input type="text" class="form-control" name="id" placeholder="Enter the id of the product you would like to buy">
            <div class="input-group-append">
                <button class="btn btn-outline-secondary" name="submit" type="submit"><i class="fas fa-cart-plus mr-2"></i>Add to Cart</button>
            </div>
        </div>
</form>

在我的app.js文件中,按照以下顺序,I:

代码语言:javascript
复制
var express = require('express');
var bodyParser = require('body-parser');

// setting up views
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));

// middleware for bodyParser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// render page 
app.get('/input', function(req, res){
    res.render('input');
});

// get input from text input 
app.post('/input', function(req, res) {
    console.log(req.body.id);
})

运行此命令将返回"undefined“。我尝试用req.body替换req.body.id,后者在控制台中返回一个空对象{}。任何帮助都将不胜感激。我不确定我错过了什么。

EN

回答 1

Stack Overflow用户

发布于 2018-04-06 07:29:09

为自己在Node服务器实例世界中的地位而感到自豪!大多数情况下,您遇到的问题是特定于Express的。最初配置Express时声明的顺序是非常严格的。尝试将视图配置移到正文解析器的中间件设置下。我已经安装了数百个Express应用程序,我的通用goto first配置总是:

代码语言:javascript
复制
        app.disable('x-powered-by')
        app.disable('etag')
        app.use(bodyParser.json())
        app.use(bodyParser.urlencoded({ extended: true }))
        app.use(cookieParser())
        app.use(compress())
        app.use(methodOverride())
        app.use(helmet())
        app.use(cors())  

在我为模板框架做任何注册之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49682898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档