2009-04-02 4 views
1

일반적인 "로드 중 ..."또는 애니메이션 GIF 대신, 무슨 일이 일어나고 있는지 더 자세히 설명하고 싶습니다. (일부 스플래시 화면이 응용 프로그램에서하는 것처럼). 그러나 Jquery 문서를 보니 XMLHttpRequest 상태가 변경되지 않는 것 같습니다. 경우 = 2 디스플레이XMLHttpRequest 상태를 얻는 Jquery ajax

"가까이 얻기"경우 경우 = 1 개 디스플레이

"시작"만약 내가하고 싶은 무엇

같은 경우 경우 = 3 디스플레이 "I 거의 다 해요 "

경우 = 4 표시 내용

오전에 내가 뭔가를 내려다 아니면 내가 jQuery의 아약스 방법을 포기하고 내 자신을 작성해야하는 경우?

답변

0

일부 시간 간격으로 웹 서비스를 폴링하고 애플리케이션 (예 : 사용자가 제공 한 메시지)에 적합한 것으로 반환하고 진행률 표시기를 업데이트해야합니다. 이 프로세스는 두 단계로 진행됩니다. 첫 번째 단계는 실제로 실행해야하는 작업을 시작하고 두 번째 단계는 서버가 계속 폴링하여 작업이 완료되었는지 확인하는 것입니다.

그러나 서버에 현재 작업 상태를 저장해야합니다. 어떤 기술을 사용하고 있는지 모르겠으므로 선택 프레임 워크에서 제공하는 것을 사용하도록 알려줄 수는 있지만 프로세스 상태가 지속될 수있는 변수 (HTTP는 상태 비 저장)로 설정되었는지 확인해야합니다. 예를 들어 세션 변수에서. 실행중인 프로세스와 폴링 메소드간에이 값을 동기화하는 것은 까다로울 수 있습니다.

전체적으로 이러한 스플래시 화면은 클라이언트에서 처리가 수행 될 때 데스크톱 응용 프로그램이나 웹 응용 프로그램에서 사용됩니다. 비동기 적으로 실행중인 메서드가 서버에있을 때 업데이트 진행을 시도하는 것이 좋습니다. 이와 같은 진행 표시기는 이미지 또는 다른 파일과 같은 자산을로드 할 때 좋으며 현재로드 된 항목/크기 대 총 크기 등을 계산할 수 있습니다. 처리 작업을 서버 또는 클라이언트에서 호출할지 여부에 관계없이 셀 수를 계산해야합니다. ...

웹 응용 프로그램에서 또 다른 둔한 "로드 중 ..."표시기를 원하지 않으면 배열에서 재미있는 따옴표 나 다른 텍스트를 무작위로 표시합니다.

최상의 솔루션 - 요청을 처리하는 데 걸리는 시간을 최소화하십시오. :)

+0

큰 조언을 주셔서 감사합니다. 당신은 내가 정말로 생각하지 못했던 것을 만졌고; 그것이 투표와 투표에 걸리는 시간입니다. 고맙습니다. – Scott

+0

문제 없습니다. 내가 도울 수있어서 기쁘다. 또한 서버를 지속적으로 폴링하는 것은 자원을 소비한다는 것을 잊어 버렸습니다. 서버가 처리하는 동안 많은 '불필요한'호출을합니다. StackOverflow만큼 많은 사용자가 있다고 생각하십시오. :) –

관련 문제