Идентификатор формы при serialize()

254
19 августа 2017, 02:50

Если выполнить на стороне js (при sumbit формы, например) $(this).serialize(), то в переменной получим данные формы в виде строки, которую можно спокойно передавать при помощи ajax на сервер. Всё отлично. А как на стороне сервера различать данные какой формы прилетели? Например, есть контроллер и экшн actionTest страницы. На него прилетают ajax с данными форм. Допустим, на странице есть две формы, и данные двух этих форм отправляются на actionTest. Как внутри определить, от какой формы пришли данные? Как идентифицировать форму? - нужно ведь решить, что с этими данными делать и т.п.

Answer 1

Я люблю оборачивать имена полей в формах, например

<input type="text" name="Item[id]" value="1" />
<input type="text" name="Item[caption]" value="Лопатка" />

Тогда на стороне сервера можно сразу понять что что-то пришло и передать методу все сразу

$item = isset($_POST['Item']) ? $_POST['Item'] : null;
if ($item) $handler->handleItem($item);
$group = isset($_POST['Group']) ? $_POST['Group'] : null;
if ($group) $handler->handleGroup($group);
READ ALSO
JQuery Autocomplete + Yii2 + Ajax

JQuery Autocomplete + Yii2 + Ajax

Добрый вечер! Передо мной встала такая проблема: есть поля в view:

376
Чтение struct в queue

Чтение struct в queue

Добрый день! Задача следующая, реализовать запись и чтение в очередь

383
Подсказка при вводе в QTextEdit

Подсказка при вводе в QTextEdit

Есть кастомный QTextEdit, как в него добавить всплывающие подсказки при вводе, как в Qt Creator, Sublime или любой IDE

302