私は単純なフォーム提出コードを試しています。私はpostメソッドを使用しています。 マイserver.jsコードExpress nodejs req.body returns undefined
//N-4E;V-56;I-49
//var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var idx = require('./index.js');
var ra = require('./ra.js');
var app = express();
app.engine('html',require('ejs').renderFile);
app.set('view engine', 'html');
app.set('port',process.env.PORT || 5649);
app.use(bodyParser.urlencoded({extended: true}));
app.use('/',idx);
app.use('/reg_path',ra);
app.listen(app.get('port'),function(){
console.log('Express started press asdfadsfasdfasdf');
});
私のindex.js
var express = require('express');
var fs = require('fs');
var router = express.Router();
router.get('/',function(req,res,next){
//res.sendHeader(.)
res.render('index.ejs',{});
//res.render('title.ejs',{});
});
module.exports = router;
私index.ejs
<!DOCTYPE html>
<html>
<head>
</head>
</body>
<div id="reg_path">
<p>Enter the Regressions Folder Path</p>
<form action="/reg_path" method="post" enctype="multipart/form-data">
<fieldset>
<label for="path">Path:</label>
<input type="text" id="path" name="path" placeholder="Enter the Absolute path"/>
<input type="submit" value="Enter"/>
</fieldset>
</form>
</div>
</body>
</html>
私ra.jsから、今
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var app = express.Router();
var path;
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.post("/",function(req,res){
console.log(req.body.path);
path = req.body.path;
fs.access('path',fs.constants.F_OK, (err) => {
if (err) throw err;
res.redirect('./index');
//if (err) {
// res.writeHead(404,{'Content-Type':'text/plain'});
// return res.end('The specified path "' + path + '" does not exists');
//}
});
//fs.access('path',fs.constants.R_OK, (err) => {
// //if (err) {
// // res.writeHead(404,{'Content-Type':'text/plain'});
// // return res.end('The specified path "' + path + '" has no READ permissions');
// //}
//});
});
module.exports = app;
ですインデックスページ、パスiを入力するとnフォームを選択し、submit.logをconsole.logに入力すると、 'req.body'が 'undefined'として返されます。
「req.body」の値が最初に使用できないため、ra.jsのコードのほとんどはコメントまたは更新されていません。私はそれを最初に修正する必要があります。
私はインターネットを通じて検索し、自分のコードにある間違いを見つけましたが、私はそれを明らかにすることができません。 v6.11.0
ボディパーサー:1.17.2 エクスプレス:4.15.3 EJS:2.5.6
server.jsが見つかりません。app.use(bodyParser.json());そのファイルが何であれ、ボディパーサra.jsは必要ありません^ _ ^。 ExpressJSを初めてお使いになる場合は、このテンプレートhttps://www.npmjs.com/package/express-generator-dgを使用し、そこから取得することをお勧めします。すべてのコード行が説明されています。 –