Показать сообщение отдельно
  #8 (permalink)  
Старый 23.05.2017, 17:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Не понял причем тут шапка страницы. У вас есть связанные списки. Собственно их можно расположить таким образом на странице, что можно будет легко получить их коллекцию. При этом изменения в этих списках будут иметь один общий обработчик, отправляющий асинхронный запрос на сервер, и получая в ответ последующий список. Данные для какого из списков при этом запрашиваются сервер определяет по параметрам запроса. Ведь таким же образом и ваш серверный скрипт производит определение, так ведь?

Клиентский сценарий также может определить в каком из списков произошло изменение. Например, если это не последний в наборе, значит данные для списка, а если последний, то сервер вернул форму, которую он поместит на страницу. То есть и серверный сценарий вполне может определить, что запрос последнего списка и клиент запрашивает форму.

Эти вопросы ясны и затруднений по ним нет?

А вот во что и как поместить форму, так это зависит от формата данных. Ваш код возвращает готовую таблицу с формой, и речь вроде бы о студентах, значит ответ помещать надо не в

<tr>
<td>...</td>
</tr>

а либо в постоянно имеющийся на странице TABLE, либо в какой либо DIV, если сервер возвращает полностью таблицу, а не ее строки. То есть заменяется html содержимое TABLE или DIV.

Если же формат данных, которыми производится обмен с сервером, это JSON, то на основе этих данных клиент строит html код таблицы/формы.

У вас не видно, чтобы сервер возвращал <table>, значит например, <table id="list"></table> уже на странице. Сервер и клиент знают, что результат запроса это таблица/форма, поэтому помещает ее в тег таблицы:

$('#list').html(data)


где data содержит ответ сервера (см. описание Ajax методов).

Последний раз редактировалось laimas, 23.05.2017 в 19:56.
Ответить с цитированием