-
-
-
- Примеры
- API
Это старая версия документа!
Взаимодействие по AJAX с клиентской стороны реализуется функцией w_core.request
По идеологии Wmart, событие должно быть привязано к тегу с атрибутом data-action
Все объекты, над которыми выполняется действие программно, должны иметь атрибут data-type
/views/somebody/somebody.form.php
<form data-action="sombody.action"> <input type="text" name="field1" data-field="somebody.field1" /> <input type="text" name="field2" data-field="somebody.field2" /> <input type="submit" /> </form>
/assets/js/somebody.js
$('[data-action="sombody.action"]').on('submit', function(e){ e.preventDefault(); //исключаем действие по умолчанию var form = $(this); //получаем форму var request = $(this).formObject(); //получаем данные из формы wmart.request('somebody.action',request,function(response){ form.formErrors(response.errors); //обрабатываем результат проверки console.log(response.info); //выводим в консоль переданную переменную info }); });
/controllers/somebody.php
function profileConfirm() { $result = new w_result($this); //получение объекта результата запроса $field1 = w_input::int('field1'); //получаем поле field1 как число $field2 = w_input::text('field2'); //получаем поле field2 как текст $result->errorField($field1, 'somebody.field1', 'Поле field1 заполнено неверно'); $result->errorField($field2, 'somebody.field2', 'Поле field2 заполнено неверно'); //проверка полей if (!$result->fail) { //проверяем, если валидация прошла успешно $result->info = 'Все ок!'; //передаем переменную info } $result->exec(); //Отправляем данные }
$('[data-action="sombody.action"]').on('click', function(e){ e.preventDefault(); //исключаем действие по умолчанию var obj = $(this); //ссылка var request = $(this).attrObject(); //получаем data-атрибуты ссылки wmart.request('somebody.action',request,function(response){ console.log(response.result); //выводим поле result из ответа }); });