2010-03-08 6 views
0

잠시 시간이 걸리는 스크립트가 있습니다.표시 처리 페이지가 완료되면 리디렉션됩니다.

스크립트 처리 중에 페이지를 표시하고 프로세스가 완료되면 리디렉션하고 싶습니다.

예 : form.php -> processing.php -> display_result.php

양식을 보여주는 제출 후 나는 그 processing.php 싶습니다

즉시 표시됩니다

를 (귀하의 정보를 처리, ... 기다려주십시오) 처리되면

페이지가

플러시의 종류에 어쨌든 처리가 시작되기 전에 프로세스가 완료되면, 다음 리디렉션 브라우저에 내용이 있습니까 display_result.php로 리디렉션해야 완료?

답변

1

Javascript/Ajax 작업과 비슷합니다.

Ajax 호출은 비동기식이므로 달성하려는 대상에 이상적입니다.

ajax 요청을 통해 양식 콘텐츠를 보낸 다음 요청이 진행되는 동안 로딩 바처럼 보이도록 페이지의 DOM을 조작합니다. 요청이 끝나면 DOM을 다시 조작하여 양식 처리 결과를 표시하거나 해당 정보가있는 새 페이지로 리디렉션 할 수 있습니다.

0

간단한 방법으로이 작업을 수행 할 수 있습니다.

일단 양식을 제출하면 처리는 서버 측에서 시작됩니다.

동일한 process.php로 리디렉션되는 몇 초 동안 간단한 메타 태그 새로 고침 콘텐츠로 사용자를 processing.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/

관련 문제