2010-03-08 5 views
0

У меня есть сценарий, который занимает некоторое время.Затем отобразите страницу обработки, а затем перенаправите ее

Я бы хотел отобразить страницу во время обработки скрипта, а затем перенаправить, когда процесс будет завершен.

Например: form.php -> processing.php -> display_result.php

Я хотел бы, что processing.php отображается сразу после отправки формы, показывая (Обработка вашей информации, пожалуйста, подождите ...)

После завершения обработки страница должна быть перенаправлена ​​на display_result.php

есть ли вообще-то скрытое содержание в браузер до начала обработки, а затем перенаправлять, когда процесс будет завершен?

ответ

1

Это звучит как задача Javascript/Ajax.

Ajax-вызовы асинхронны, и это делает их идеальными для того, чего вы пытаетесь достичь.

Вы отправляете содержимое формы через запрос ajax, а затем манипулируете DOM страницы, чтобы показать что-то вроде панели загрузки во время запроса. По завершении запроса вы можете снова манипулировать DOM, чтобы показать результат обработки формы, или перенаправить на новую страницу с этой информацией.

0

вы можете сделать это простым способом.

После отправки формы обработка начинается со стороны сервера.

перенаправить пользователя на process.php с помощью простого метатега обновить содержимое с несколькими секундами, перенаправляя на тот же процесс обработки.php.

<meta http-equiv="refresh" content="600"> например

processing.php должна иметь логику сценария на стороне сервера, который проверяет, является ли ваша обработка завершена. если полная, перенаправить пользователя на display_result.php.

0

Вы должны использовать Ajax для выполнения этой задачи.

<div class="trigger">Trigger</div> 
<div class="result"></div> 
<div class="log"></div> 

$('.log').ajaxStart(function() { 
    $(this).text('Please wait...'); 
}); 

Ссылка
http://api.jquery.com/ajaxStart/

Смежные вопросы