Инструменты пользователя

Инструменты сайта


ядро:w_response

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ядро: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]]| |
  
 ===== Методы объекта ===== ===== Методы объекта =====
Строка 43: Строка 58:
 |layout_to|Имя слоя, в который необходимо поместить данные|[[:​js#​именование_слоев|Имя слоя]]|null| |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>​
  
  
ядро/w_response.1543450312.txt.gz · Последние изменения: 2018/11/29 03:11 — a1