Запрос на сервер
Для реализации запроса на сервер используется метод:
prologueClient.queryToServer(Маршрут, Параметры, Колбек)
Маршрут - http путь к back-end endpoint
Маршрут строится по следующему правилу: домен + маршрут. Домен используется из параметров инициализации:
servers.demo или servers.work
Существует два типа маршрутов: Типизированные и не типизированные
Типизированные маршруты строятся по шаблону Модуль:метод
Примеры:
Маршрут |
http запрос |
Описание |
MainModule:loadApp |
/MainModule/?action=loadApp |
Вызвать метод
loadApp который находится в главном модуле
|
Cart:addProductToCart |
/Cart/?action=addProductToCart |
Вызвать метод
addProductToCart который находится корзине
|
ContactsPage:getPage |
/ContactsPage/?action=getPage |
Вызвать метод
getPage который находится на странице контактов
|
Не типизированные маршруты строятся без шаблона, указывается прямой endpoint
Примеры:
Маршрут |
http запрос |
Описание |
/main/load-app/ |
/main/load-app/ |
Загрузить приложение |
/cart/add-product-to-cart/ |
/cart/add-product-to-cart/ |
Добавить товар в корзину |
http://contacts/get-page/ |
/contacts/get-page/ |
Получить страницу Контакты |
Параметры - объект данных который будет передан на сервер
{
"productId" : 1,
"quantity" : 1
}
Колбек - функция которая будет вызвана после того, как ответит сервер. Внутри функции будет доступен объект response
(response) => {
// use response
}
Использование
prologueClient.queryToServer('MainModule:sampleRequest', {
'id': 1,
}, (serverData) => {
// use serverData
});
Пример:
Получить пользователя по его id
prologueClient.queryToServer('Users:getUser', {
'userId': 5,
}, (serverData) => {
let user = serverData.uerData;
});
Прелоадер:
Перед отправкой запроса зачастую требуется включать прелоадер для определенного блока.
Это можно сделать с помощью функции: prologueClient.preload(блокКоторыйНужноПрелоадить)
После выполнения запроса необходимо убрать прелоадер.
Это можно сделать с помощью функции: prologueClient.unPreload()
Пример использования встроенного прелоадера:
prologueClient.preload('.loginForm');
prologueClient.queryToServer('Users:login', {'login': '9783674485', 'password': 'ty3452'}, (res) => {
prologueClient.unPreload();
});
Обработка ошибок
Сервер будет присылать ошибки, их нужно обрабатывать и выводить пользователю.
Перед отпавкой запроса можно использовать метод: prologueClient.setErrorWrapper(селекторБлокаВКоторыйВыводитьОшибки)
Если ошибки придут с сервера, то их содержимое вставится в блок селекторБлокаВКоторыйВыводитьОшибки
Комплексный пример запроса с прелоадером и обработкой ошибок:
prologueClient.preload('.loginForm');
prologueClient.setErrorWrapper('.js-error');
prologueClient.queryToServer('Users:login', {'login': '9783674485', 'password': 'ty3452'}, (res) => {
});
Стоит заметить, если использовать обработку ошибок, то вызывать prologueClient.unPreload() после ответа, нем смысла, клиент все сделает автоматически.