Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
ядро:w_response [2018/11/29 03:11] a1 [render] |
ядро:w_response [2018/11/29 04:16] (текущий) a1 [Поля] |
||
|---|---|---|---|
| Строка 6: | Строка 6: | ||
| ===== Поля ===== | ===== Поля ===== | ||
| + | В поля можно передавать произвольные данные, которые также будут переданы клиенту | ||
| + | |||
| ^Поле^Описание^Тип^ | ^Поле^Описание^Тип^ | ||
| |fail|true, при ошибке формы|boolean| | |fail|true, при ошибке формы|boolean| | ||
| + | |request|Новые данные запроса страницы|object| | ||
| + | |redirect|Ссылка переадресации страницы. ''reload'', для перезагрузки|string| | ||
| + | |url|Новый url страницы|string| | ||
| + | |||
| + | ===== Статичные методы ===== | ||
| + | ==== load ==== | ||
| + | w_response::**load**(//context//) | ||
| + | |||
| + | Инициализация объекта | ||
| + | |||
| + | ^Аргумент^Описание^Тип^По-умолчанию^ | ||
| + | |context|Контекст, необходимый для обработки слоев|object обязательный| | | ||
| + | ^Возвращает|Объект w_response|[[ядро:w_response|Объект w_response]]| | | ||
| ===== Методы объекта ===== | ===== Методы объекта ===== | ||
| Строка 40: | Строка 55: | ||
| ^Аргумент^Описание^Тип^По-умолчанию^ | ^Аргумент^Описание^Тип^По-умолчанию^ | ||
| - | |layout|Имя выводимого слоя|[[:js#именование_слоев|Имя слоя]]| | | + | |layout|Имя выводимого слоя|[[:js#именование_слоев|Имя слоя]] обязательный| | |
| - | |layout_to|Имя слоя, в который необходимо поместить данные|[[:js#именование_слоев|Имя слоя]]|layout| | + | |layout_to|Имя слоя, в который необходимо поместить данные|[[:js#именование_слоев|Имя слоя]]|null| |
| ^Возвращает|true|boolean| | ^Возвращает|true|boolean| | ||
| + | |||
| + | ===== Формат ответа ===== | ||
| + | После завершения выполнения формируется JSON-ответ в следующем формате | ||
| + | |||
| + | <code javascript> | ||
| + | { | ||
| + | fail: null, //результат валидации | ||
| + | src: [ //массив слоев | ||
| + | { | ||
| + | layout:string, //имя целевого слоя | ||
| + | src:string, //исходный код слоя | ||
| + | } | ||
| + | ], | ||
| + | errors: { }, //список ошибок валидации (поле: текст ошибки) | ||
| + | redirect: string, //ссылка для переадресации | ||
| + | url: string, //новый url страницы | ||
| + | request: {} //новые данные запроса страницы | ||
| + | } | ||
| + | </code> | ||
| + | ===== Пример ===== | ||
| + | <code php> | ||
| + | $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(); //Отправляем данные | ||
| + | </code> | ||