Честно говоря, не уверен на 100%, чего вы здесь добиваетесь. Но я сделаю удар.
Звучит так, как будто у вас есть данные, которые вы хотите получить как из ваших маршрутов получения, так и из ваших почтовых маршрутов. Просто поместите эти данные в функцию и вызовите эту функцию с обоих ваших маршрутов. Но я скажу, что если у вас есть конечная точка «POST», которая просто извлекает данные из вашей конечной точки «GET», я бы серьезно спросила, почему вы «POSTING» для начала. Вы не создаете новый ресурс или что-либо еще.
Во всяком случае, вот пример того, о чем я говорю.
const express = require('express');
const path = require('path');
const hbs = require('express-handlebars');
// Moment.js
const moment = require('moment');
// Init App
const app = express();
// Json File
const json = require('./data.json');
// Javascript Files
const welcomeTime = require('./public/javascript/welcomeTime');
// Load View Engine
app.engine('hbs', hbs({
extname: 'hbs',
defaultLayout: 'layout',
layoutsDir: `${__dirname}/views/layouts/`
}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use(express.static(`${__dirname}/public`));
const getMyData = () => ({
title: 'NodePark',
hotel: 'NodePark',
// This woould be the json data I need from the payload
firstName: json.payload.data.Source_FirstName,
lastname: json.payload.data.Source_LastName,
// end of data needed
date: moment().format('ll'),
time: moment().format('LT'),
currentHour: welcomeTime.dayTime()
});
// GET Route
app.get('/', (req, res) => {
res.render('index', getMyData());
});
// POST Route
app.post('/hotel', (req, res) => {
const theData = getMyData(); // use it here??? I have no idea....
res.redirect('/', {
});
});
// Start Server
app.listen(5000, () => {
console.log('Port 5000 LIVE.');
});