Рішення помилки в Google Chrome при відправці форми

301

Від автора: нещодавно мені довелося зіткнутися з помилкою в браузері Google Chrome при роботі з відправкою даних методом POST. При цьому мене вкрай здивувало, що цей браузер Google Chrome браузер, від якого, здавалося б, очікувати подібний баг можна було в останню чергу.

Думаю, багато хто з Вас знайомі з так званою проблемою F5. Суть проблеми полягає в наступному: у файлі є форма, яка відправляє дані методом POST, і обробник цієї форми. Після відправки даних ми повертаємося на сторінку форми. При цьому якщо ми натиснемо клавішу F5 або іконку оновлення сторінки, то браузер «люб’язно» повідомить нам про те, що у нього збереглися POST-дані, які він може відправити на сервер повторно. Загалом-то, повторна відправка форми на сервер нам, звичайно ж, не потрібна, а тому бажано вирішити якось вирішити цю саму проблему F5.

Деталі підручника

Тема: PHP

Складність: Середня

Урок: Відео версія (.mp4)

Час: 00:29:01

Розмір архіву: 56 Mb

Помилка в Google Chrome вирішується досить просто. Досить скористатися можливостями функції header() і, після отримання даних, перезапросить потрібну сторінку, тобто зробити редирект. Тим самим POST-дані скинуться, і при наступному оновленні сторінки браузер не буде пропонувати що-небудь повторно відправляти на сервер.

Загалом-то, це стандартне рішення, яке абсолютно очікувано працює у всіх браузерах… крім Google Chrome кількох останніх версій. Там проблема F5 зберігається після редіректу.

Отже, дивимося відео з роз’ясненнями даної проблеми та її рішеннями.

До речі, у версії 26.0.1410.43 цей баг в Хромі вже виправлено Рішення помилки в Google Chrome при відправці форми

Рішення помилки в Google Chrome при відправці формиРішення помилки в Google Chrome при відправці форми

На цьому урок за рішенням помилки в Google Chrome закінчено, сподіваюся ви всі зрозуміли.