0
ここに私の見解upload.ejsページです:のNode.js/Expressのpostメソッドログがコンソールで未定義
<%- 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') -%>
と、これは私のルート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;
提出ボタンを押すと、コンソールに未定義になります。私がログreq.bodyをコンソールにしようとすると、私は空になります{}。
あなたのフォームアクションは '"/upload "'に設定されており、この投稿ルート ''/''でチェックインしています。 –
'router.post( '/ upload'、.......)' – taha
あなたは 'multipart/form-data'を使って送信しますが、URLエンコードされたパーサーは受信します...正しい?特に、body-parserのNPMページには[mulipartはしていません]と書かれています(https://www.npmjs.com/package/body-parser#bodyparserurlencodedoptions)。 –