W ramach nauki tworzę aplikację dodającą książki do biblioteki. Korzystam z node, express, ejs oraz express-ejs-layouts. Będąc na stronie startowej użytkownik wybiera opcję dodania nowej książki. Wpisując adres url ręcznie np. http://localhost:5000/add wszystko działa poprawnie (ładuję się kolejna strona aplikacji). Jednak po naciśnięciu na konkretny element, którego zadaniem jest dodanie kolejnej książki pojawia się problem:
Zamieszczam kod z pliku app.js:
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const app = express();
app.use(expressLayouts);
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/views'));
app.use('/', require('./routes/index'));
app.use('/add', require('./routes/index'));
app.use('/library', require('./routes/index'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, console.log(`Server started on port ${PORT}`));
index.js w folderze routes:
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => res.send('hello world'));
router.get('/add', (req, res) => res.render('add'));
router.get('/library', (req, res) => res.render('library'));
module.exports = router;
index.ejs w folderze views:
<form action="/add" method="POST" class="left-side">...</form>
oraz mainPage.js w folderze views:
const leftSide = document.querySelector('.left-side');
leftSide.addEventListener('click', () => { leftSide.submit() });