В моем express маршрутизаторе я проверяю, действительны ли данные, вставленные в форму, затем, если это так, я отображаю другую страницу, передавая данные формы. Я хотел бы получить доступ к данным, которые я передаю на стороне клиента. В представлении chat.ejs
у меня есть клиентский файл chatroom.js
, я хочу получить доступ к данным без необходимости доступа к ним в теге сценария. Я думал об использовании Ajax, но единственный ответ, который я нашел здесь в StackOverflow, был помечен как неправильный, так как мне go об этом?
маршрутизатор. js
module.exports=function(app) {
const express = require('express');
const router = express.Router();
const {check, validationResult} = require('express-validator');
const {matchedData} = require('express-validator/filter');
router.get('/', (req, res) => {
res.render('index', {
data: {},
errors: {}
})
});
router.post('/enter', [
check('username')
.isLength({min: 1})
.withMessage('Username is required').trim(),
check('room')//implement personalized check
], (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.render('index', {
data: req.body,
errors: errors.mapped()
})
}
else {
const data = matchedData(req);
return res.render('chat',{
user: data.username,
room:data.room
})
}
});
return router;
//MOVE TO SUPPORT
function find(name) {
return 1;
}
}
на самом деле на стороне клиента пока ничего нет, поэтому публиковать мои взгляды кажется бесполезным. В качестве альтернативы я мог бы использовать Ajax на client.e js для обработки отправки формы, но я бы хотел сохранить это в чистоте и обрабатывать маршрутизацию с файлом маршрутизатора.