I'm a beginner to programming here and I'm trying to render a POST data by /admin.ejs to /home.ejs. I pasted the data on admin page and it's working but when I try to render to home page it say the data is not defined: /`thank you in advance .
paths
-model
--input.js
-routes
--adminRouter.js
--indexRouter.js
-views
--admin
---admin.ejs
--partials
---header.ejs
---footer.ejs
--home.ejs
-index.js
adminRouter.js
probably my misstake is here
const express = require("express"),
session = require('express-session'),
bodyParser = require("body-parser"),
app = express(),
router = express.Router();
/////yancilar//////
var jsonParser = bodyParser.json();
var urlencodedParser = bodyParser.urlencoded({ extended: false });
app.set("view engine","ejs" );
///////////////
router.get('/admin', (req, res)=>{
res.render('admin/admin');
});
router.post('/admin',urlencodedParser, (req, res)=>{
console.log(req.body);
const data = req.body.input ;
res.render('home', {data : data});
console.log(data);
});
home.ejs
<% include ./partials/header %>
<div class="container">
<h1 class="my-4 text-center text-lg-left">Thumbnail Gallery</h1>
<div class="row text-center text-lg-left">
<div class="col-lg-3 col-md-4 col-xs-6">
<a href='' class="d-block mb-4 h-100 ">
<% if (data) { %>
<h2><%- data %></h2>
<% } %>
<img class="img-fluid img-thumbnail" src="" alt="">
</a>
</div>
</div>
</div>
<% include ./partials/footer %>
index.js
const mongoose = require("mongoose"),
express = require("express"),
app = express(),
input = require("./models/input"),
bodyParser = require("body-parser"),
passport = require("passport"),
expressSession = require("express-session"),
LocalStrategy = require("passport-local");
///pass////
app.use(passport.initialize());
app.use(passport.session());
//passport.use(new LocalStrategy(input.authenticate()));
//passport.serializeUser(input.serializeUser());
//passport.deserializeUser(input.deserializeUser());
////Routes///////////////////
const indexRouter = require("./routes/indexRouter");
const adminRouter = require("./routes/adminRouter");
///App Config////////////////
app.set("view engine","ejs" );
app.use(express.static("public"));
mongoose.connect('mongodb://localhost/game');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
/////routers use ////////////
app.use(adminRouter);
app.use(indexRouter);
admin.ejs
<% include ../partials/header %>
<form action="admin" method="POST" >
<label class="sr-only" for="input">Name</label>
<input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" id="input" placeholder="Jane Doe" name="input" />
<label class="sr-only" for="inlineFormInputGroup">Username</label>
<div class="form-check mb-2 mr-sm-2 mb-sm-0">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<div>
</div>
<% include ../partials/footer %>
indexRouter
const express = require("express"),
router = express.Router(),
app = express();
router.get('/', function(req, res) {
res.render('home');
});
module.exports = router;