-
-
-
- Примеры
- API
Это старая версия документа!
Класс для подготовки ответа AJAX
core/core.php
В поля можно передавать произвольные данные, которые также будут переданы клиенту
| Поле | Описание | Тип |
|---|---|---|
| fail | true, при ошибке формы | boolean |
| request | Новые данные запроса страницы | object |
| redirect | Переадресация страницы. reload, для перезагрузки | string |
| url | Новый url страницы | string |
w_response::load(context)
Инициализация объекта
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| context | Контекст, необходимый для обработки слоев | object обязательный | |
| Возвращает | Объект w_response | Объект w_response |
w_response::errorField(test,field,message) Валидация поля формы, подготовка сообщений об ошибке, устанавливает поле fail в true.
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| test | аргумент для обработки условия. Обрабатывать в случае true | boolean обязательный | |
| field | Указатель поля формы. Соответствует атрибуту data-field | string обязательный | |
| message | Сообщение об ошибке | string обязательный | |
| Возвращает | true | boolean |
w_response::exec() Закончить обработку и вывести данные.
w_response::layout(layout,source)
Подготовить данные слоя к выводу. Исходный код слоя source будет помещен в слой layout
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| layout | Имя слоя, в который необходимо поместить данные | Имя слоя обязательный | |
| source | Исходный код слоя | string обязательный | |
| Возвращает | true | boolean |
w_response::render(layout,layout_to)
Подготовить данные слоя к выводу. Слой layout будет обработан и выведен в слой layout, либо в layout_to, если соответствующий аргумент присутствует.
После завершения выполнения формируется JSON-ответ в следующем формате
{ fail: null, //результат валидации src: [ //массив слоев { layout:string, //имя целевого слоя src:string, //исходный код слоя } ], errors: { }, //список ошибок валидации (поле: текст ошибки) redirect: string, //ссылка для переадресации url: string, //новый url страницы request: {} //новые данные запроса страницы }
$response = w_response::load($this); //получение объекта результата запроса $field1 = w_input::int('field1'); //получаем поле field1 как число $field2 = w_input::text('field2'); //получаем поле field2 как текст $response->errorField($field1, 'somebody.field1', 'Поле field1 заполнено неверно'); $response->errorField($field2, 'somebody.field2', 'Поле field2 заполнено неверно'); //проверка полей if (!$response->fail) { //проверяем, если проверка прошла успешно $response->render('user.user.profile'); //обрабатываем для вывода профиль пользователя $response->info = 'Все ок!'; //передаем переменную info } $response->exec(); //Отправляем данные