JS + Node | Вызов функции с бэка через фронт
Привет коллеги.
На данный момент есть фронт + Node + Express + Mongo
Сразу извиняюсь за длинный код и прошу не осуждать за реализацию и грубый вывод в Лоб :) Я только учусь стеку MEAN (До Angular еще не дошел)прошу сильно не пинать
Хочу понять как сделать запрос на ПС с сервера. Условно, покупатель оформил корзину, нажал перейти к оплате(тут вызывается Req c Бэка и переадресовывает на страницу оплаты)
Собственно вопрос: Чтобы не отправлять полный Fetch - как сделать вызов функции с бэка. То есть грубо говоря убрать function Init() в ноду и обращаться к ней через кнопку и отправлять Response Init() в БД
Сейчас делаю Req с фронта: Пример Req:
main.js
import {init} from './pay.js';
btn.addEventListener('click', init)
pay.js
function init() {
fetch(`${URL.Env.Rest}` + `${URL.Method.init}`, {
method: 'POST',
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({
'TerminalKey': `${term.DEMO}`,
'Amount': 110000,
'OrderId': `Тут дожен быть номер заказа сгенереный бэком`,
'CustomerKey': `${usrArray[0].id}`, // Присвоенный ID пользователю при регистрации
'Data': {
'Phone': `${usrArray[0].phone}`,
'Email': `${usrArray[0].email}`,
},
'Token': `${initToken}`
})
})
.then((response) => response.json())
.then((data) => {
let payId = data.PaymentId;
let bdPID = localStorage.getItem('PaymentID');
let jsToTxt = JSON.stringify(data);
if (data.ErrorCode === '0') {
outAcc[0].innerHTML = `
<div class="alert alert-success" role="alert">
Данные Платежа: <code> <br>
1: PaymentID: ${data.PaymentId} <br>
2: OrderId: ${data.OrderId}</code> <br>
</div>`;
} else if (data.ErrorCode === '7') {
outAcc[0].innerHTML = `
<div class="alert alert-warning" role="alert">
${data} ` + `!!! <br><code>${data}</code>
</div>`;
} else if (data.ErrorCode === '251') {
outAcc[0].innerHTML = `
<div class="alert alert-danger" role="alert">
${data.Message}!!! <br>
<code> 1: ` + ` ${data.Success}
<br> 2: ` + ` ${data.Details}</code>
</div>`;
} else if (data.ErrorCode === '322') {
outAcc[0].innerHTML = `
<div class="alert alert-danger" role="alert">
Передана некорректная подпись !!! <br>
<code>${data.Details}</code>
</div>`;
}
// Отправляем данные в БД
// fetch('http://localhost:3000/', {
// method: 'POST',
// headers: {
// 'Content-type': 'application/json'
// },
// body: JSON.stringify({
// 'Amount': `${data.Amount}`,
// 'OrderId': `${TodayDate}` + ` ${ordId}` + `${ordId2}` + `${ordId3}`,
// 'CustomerKey': `${usrArray[0].id}`,
// 'Data': {
// 'Phone': `${usrArray[0].phone}`,
// 'Email': `${usrArray[0].email}`,
// },
// 'PaymentId': `${data.PaymentId}`,
// // '':``,
// })
// })
// Конец фетча БД
}).catch((error) => {
console.log(error)
})
}
export {init};