Возврат и обновление формы PHP - PullRequest
1 голос
/ 03 марта 2010

Глядя на предыдущую реализацию сайта, над которым я работаю, я вижу, что у нас есть форма параметров, которая вызывает скрипт ManageObject.php. Этот скрипт выполняет некоторые действия с несколькими объектами, а затем возвращается на страницу с помощью следующего кода:

echo "<script type=\"text/javascript\"> window.history.back();</script>";

Мои навыки работы с javascript очень начинающие, но я могу лишь сказать, что он просто нажимает кнопку возврата в браузере. Это, конечно, не обновляет страницу, поэтому все данные на этой странице устарели.

Есть ли способ принудительного обновления при вызове window.history.back ()? Или есть лучший способ вызова сценария .php, не покидая страницу и не обновляя страницу после завершения сценария .php?

1 Ответ

1 голос
/ 03 марта 2010

Существует система с именем POST-redirect-GET , которая решает эту проблему. Это работает так:

  • Форма отправляется с данными POST на страницу php
  • Сценарий php обрабатывает данные POST, а затем перенаправляет браузер на другую страницу
  • Поскольку браузер был перенаправлен с помощью GET, обновление страницы не будет повторно отправлять данные POST. Также данные на странице будут обновлены.

В PHP вы можете перенаправить вызов header("Location: /path/to/page.php");, за которым следует exit();. Преимущество перед способом JavaScript, который вы разместили в вопросе, состоит в том, что он не требует, чтобы пользователь включил JavaScript, и не переводил его на промежуточную страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...