Вопрос

У меня есть веб-приложение, которое среди прочего содержит таблицу элементов, созданных с помощью обратного вызова AJAX. Куча полей формы в верхней части таблицы позволяет мне фильтровать элементы, которые будут отображаться в таблице в соответствии с различными критериями и показать его.

Некоторые части таблицы имеют списки элементов с помощью [X], отмеченные рядом с ними, что я могу удалить, щелкнув эти элементы.

Теперь, если я делал этот способ без AJAX / JavaScript, страница получит кучу размещенных полей данных, а затем дает бы таблицу соответственно. Я могу сделать это, но я также хотел бы аяссифицировать всю настройку. Мои вопросы относительно этого.

  1. Как бы я создал кнопку [x]. Просто <a> «Работает», но это модифицирующее состояние, поэтому я не хочу этого делать. То, как я делаю это сейчас, это крошечная форма с скрытым параметром, чем удерживает элемент, который будет удален, и кнопка «Отправка в стиле», которая является [X]. Если я ajaxify это, я могу получить ответ и сделать необходимое.

  2. Как я удерживаю свою бэкэнд сухую? Я не хочу иметь два совершенно разных бита кода для Ajaxified Version и регулярных. То, что я делаю прямо сейчас, - это версию без AJAX в URL-адрес, который меняет состояние, а затем снова перенаправляет на главную страницу (аналогично системе типа PRG). С помощью Ajax включен, я просто называю URL-адрес и игнорирую перенаправление, но использую возвращенные данные для настройки таблицы. Это «правильный путь»?

  3. Любые другие советы по изящной деградации о том, как сохранить мою бодрость?

Это было полезно?

Решение

Я бы поставил каждую строку в свою собственную форму (с method='POST') и включите скрытое поле, чтобы сказать, какой элемент должен быть удален. [X] представит бы форму, а в представлении Form представит, если XMLHTTPREQUEST не присутствует, просто отправьте форму на сервер, который будет удалять элемент и снова перенаправить на ту же страницу (это хорошая практика, чтобы избежать перезагрузки повторно повторно поставку пост удаления).
Если присутствует XMLHTTPREQUEST, установите его до публикации с идентификатором вещи, чтобы удалить, а затем удалить строку, если запрос удался. Вы можете установить флаг в запросе AJAX, чтобы перенаправить не происходит, просто успех (200 ОК).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top