Вопрос

Я хотел бы спросить ваше мнение по этому поводу. Это теоретический вопрос.

Я нахожусь в ситуации, когда у меня отображается интерфейс, который использует AJAX для связи с сервером. Серверный язык здесь не имеет значения. У меня есть форма с полями, и каждое из них можно удалить. Если пользователь выбирает несколько «удалить» -checkboxes и нажимает Update, тогда у меня есть два варианта:

Вариант 1: При удалении полей используйте JavaScript, чтобы немедленно удалить HTML, и запустите AJAX в фоновом режиме, чтобы удалить эти поля. Это позволяет получить быстрый интерфейс - > лучший пользовательский опыт. Однако в случае сбоя вызова AJAX на стороне сервера (поля не могут быть удалены), ранее удаленные поля HTML могут дать ложное предположение для пользователя (из них удаляются).

Вариант 2: При удалении полей запустите AJAX, в зависимости от его успешности, либо удалите HTML, либо нет. Это дает точную обратную связь для пользователя, но форма будет зависать до тех пор, пока вызов AJAX не завершится = медленно (er).

Что ты думаешь? Какой подход мне кажется более подходящим, или я должен выбрать его?

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

Решение

Вариант 3: пометьте элементы управления как удаленные (например, наложите полупрозрачный серый прямоугольник на значок удаления). Отправьте запрос. Когда он вернется, удалите элементы управления или измените флажок, чтобы в течение нескольких секунд отображался значок ошибки (затем снимите флажок).

Разрешите взаимодействовать с остальным интерфейсом, пока это продолжается.

Другие советы

Хороший вопрос.

Третий вариант:

<Ол>
  • немедленно отключить элементы управления
  • удалите их, когда Ajax вернет
  • Это дает пользователю обратную связь, что что-то было эффективно запрошено (отзывчивость), показывая также момент, когда он эффективно завершен.

    <Ч>

    Кроме того, пользователь каким-то образом чувствует «удаленный вызов», который не приводит его к ошибке, потому что это действительно произошло. В любом случае, мы ничего не можем сделать, чтобы скрыть это чувство, потому что задержка всегда будет.

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