app.js
var express = require('express');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var helloRouter = require('./routes/hello');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
var session_opt={
secret:'keyboard cat',
resave:false,
saveUninitialize:false,
cookie:{maxAge:60*60*1000}
};
app.use(session(session_opt));
app.use('/hello',helloRouter);
module.exports = app;
hello.js
var express= require('express');
var router = express.Router();
router.get('/',(req,res,next)=>{
var msg = 'write something';
if(req.session.message != undefined){
msg = "Last Message"+req.session.message;
}
var data={
title:'Hello',
content:msg
};
res.render('hello',data);
});
router.post('/post',(req,res,next)=>{
console.log(req.body);
var msg = req.body['message'];
req.session.message=msg;
var data={
title:'Hello!',
content:"Last Message"+req.session.message
};
res.render('hello',data);
});
module.exports = router;
hello.ejs
<form action="/hello/post" method="post">
<input type="text" name="message">
<input type="submit" value="Submit">
</form>
Я понимаю, что express.json () будет делать из this (No.5 a) Затем я отлаживаю код, описанный выше, используя console.log (req.body) в hello.js
когда я отправлял форму, это отображалось
Использование express.json ()
[Object: null prototype] { message: 'ABC' }
Не использовать express.json() (Я удалил его из app.js)
[Object: null prototype] { message: 'ABC' }
Так что нет ничего другого. Какова цель использования express.json ().даже я не знаю, правильно ли я понимаю выражение express.json ().