简体   繁体   English

控制台中未定义的Node.js / Express发布方法日志记录

[英]Node.js/Express post method logging undefined in console

Here's my views upload.ejs page: 这是我的意见upload.ejs页面:

<%- include('header' ,{ title:"Playground" }) -%>
<div class="wrapper">
  <form action="/upload" method="POST" enctype="multipart/form-data">
    <input type="text" name="name" placeholder="Image Name">
    <input type="text" name="description" placeholder="Description">
    <button type="submit" name="submit">Upload</button>
    </form>
</div>
<%- include('footer') -%>

and this is my route upload.js file: 这是我的路线upload.js文件:

var express = require('express');
var router = express.Router();
var db = require('../helpers/db');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });

router.get('/', function(req, res, next) {
  res.render('upload');
});

router.post('/', urlencodedParser, function(req, res, next) {
  console.log(req.body.name);
  res.render('upload');
});

module.exports = router;

After clicking the submit button, I get undefined in the console. 单击提交按钮后,我在控制台中未定义。 If I try to console log req.body, I get empty {}. 如果我尝试管理日志req.body,我将得到空{}。

Note that bodyparser doesn't parse the multi-part(Form -data) data. 请注意,bodyparser不会解析多部分(Form -data)数据。 You will need to use another package for it ( https://www.npmjs.com/package/multer ). 您将需要使用其他软件包( https://www.npmjs.com/package/multer )。

Use multi-part request only when you are uploading files like image, documents. 仅当上传图像,文档等文件时,才使用多部分请求。 If you are using normal data then you can remove because multi part request is considered heavier than normal post request. 如果您使用的是普通数据,则可以删除,因为多部分请求被认为比普通的后请求重。

enctype="multipart/form-data"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM