Що таке прихований запит AJAX?
Я помітив збільшення використання прихованих запитів AJAX, призначених для того, щоб зробити дії користувача негайно. Я буду називати цей тип запиту AJAX як неблокуючий. Це запит AJAX, зроблений без усвідомлення користувачем, що це відбувається, він виконується у фоновому режимі, і операція проходить безшумно ( немає верболозу, який би вказував на успішне завершення дзвінка AJAX ). Мета полягає в тому, щоб операція виявилася, що це сталося негайно, коли вона дійсно не закінчилася.
Ось приклади неблокуючого запиту AJAX;
- Клацання користувача видаляють на колекції електронних листів. Елементи одразу зникають із папки "Вхідні", і вони можуть продовжувати інші операції. Тим часом запит AJAX обробляє видалення елементів у фоновому режимі.
- Користувач заповнює форму для нових записів. Кліки зберегти. Новий елемент з’являється у списку негайно. Користувач може продовжувати додавати нові записи.
Для уточнення, ось приклади блокування запиту AJAX;
- Клацання користувача видаляють на колекції електронних листів. З'являється курсор пісочного годинника. Запит AJAX робиться, і коли він відповідає, курсор пісочного годинника вимикається. Користувач повинен зачекати секунду, щоб операція завершилася.
- Користувач заповнює форму для нових записів. Кліки зберегти. Форма стає сірою з анімацією навантажувача AJAX. З'являється повідомлення "Ваші дані були збережені", і нова запис відображається в списку.
Різниця між двома вищезазначеними сценаріями полягає в тому, що неблокуюча настройка AJAX не забезпечує зворотний зв'язок між операційними функціями, а блокування AJAX робить.
Ризик прихованих запитів AJAX
Найбільший ризик цього стилю запиту AJAX полягає в тому, що веб-додаток може перебувати в абсолютно іншому стані, коли запит AJAX не працює.
Наприклад, неблокуючий приклад;
- Користувач вибирає купу електронних листів. Клацає кнопку видалення. Здається, операція відбувається негайно (елементи просто зникають зі списку). Потім користувач натискає кнопку створення композиції та починає вводити нове повідомлення електронної пошти. В цей час код JavaScript виявляє помилку запиту AJAX. Сценарій може відображати повідомлення про помилку, але це справді безглуздо.
По черзі, блокуючий приклад;
- Користувач вибирає купу електронних листів. Клацає кнопку видалення. Бачить годину склянку, але операція не вдається. Вони отримують повідомлення про помилку із повідомленням "помилка. Бла-бла-бла". Вони повертаються до списку електронних листів, і вони все ще мають вибрані електронні листи. Вони можуть спробувати їх видалити знову.
Існують також інші технічні ризики для виконання неблокуючих запитів AJAX. Користувач може закрити веб-переглядач, перейти на інший веб-сайт, і вони зможуть перейти до іншого місця в поточній мережі, що робить безглуздим контекст будь-якої відповіді на помилку.
То чому він стає таким популярним?
Facebook, Google, Microsoft, і т.д .. і т.д .. всі ці великі домени все частіше використовують Неблокована запити AJAX , щоб зробити операції з'являються , що вони виконуються миттєво. Я також спостерігав збільшення редакторів форм, у яких немає кнопки збереження або надсилання . Як тільки ви вийдете з поля або натисніть клавішу Enter. Значення зберігається. Немає Вашого профілю, оновленого повідомлення чи кроку збереження.
Запити AJAX не є певністю, і їх не слід розглядати як успішні, поки вони не завершиться, але так багато основних веб-додатків працюють просто так.
Це веб-сайти, які використовують неблокуючі дзвінки AJAX для імітації чутливих додатків, несучи зайвий ризик ціною швидкої появи?
Це модель дизайну, якої нам слід дотримуватися, щоб залишатися конкурентоспроможними?