Reputation: 97
On my home page i have a student login button. On clicking i want to redirect to a login page. But i am not getting request inside login route.
server.js file
const express=require('express');
const path=require('path');
const bodyparser=require('body-parser');
const session=require('express-session');
const{v4:uuidv4}=require('uuid');
const router=require('./router');
const app=express();
const port=process.env.PORT||3000;
app.arguments(bodyparser.json())
app.arguments(bodyparser.urlencoded({extended:true}))
app.set('view engine','ejs');
app.arguments(session({
secret:uuidv4(),
resave: false,
saveUninitialized: true
}));
app.use('/route',router)
//home route
app.get('/',(req,res)=>{
res.render('home');
})
app.listen(port,()=>{console.log("Listening to the server on http://localhost:3000")});
router.js file
var express=require('express');
var router=express.Router();
//student login page
router.get("/studentlogin",(req,res)=>{
res.end("Login Successfull");
})
Module.exports=router;
views/home.ejs file
<form action="/route/studentlogin">
<input type="submit" class="btn btn-outline-primary align-items-end" value="Student Login">
</form>
What i am expecting is to print login successfull but i am getting error.
Error
Cannot GET /route/studentlogin
Upvotes: 0
Views: 79
Reputation: 13289
app.use
instead of app.arguments
bodyParser
with express
cors
library to enable CORSmodule.exports
Server.js
const express = require('express');
const path = require('path');
const cors = require('cors')
const session = require('express-session');
const { v4: uuidv4 } = require('uuid');
const router = require('./router');
const app = express();
const port = process.env.PORT || 3000;
app.use(cors())
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.set('view engine', 'ejs');
app.use(
session({
secret: uuidv4(),
resave: false,
saveUninitialized: true,
})
);
app.use('/route', router);
//home route
app.get('/', (req, res) => {
res.render('home');
});
app.listen(port, () => {
console.log('Listening to the server on http://localhost:3000');
});
router.js
...
module.exports=router;
Upvotes: 2