2012-07-19 4 views
0

jquery를 사용하여 서버를 호출하기 바로 전에 진행률 표시기를 표시합니다. 호출이 반환 된 후에는 진행률 표시기를 숨 깁니다. 내가 알아 채지 못하는 문제는 진행 표시기가 절대 표시되지 않으며 클라이언트 호출이 반환 될 때까지 브라우저 창이 멈 춥니 다. 이 문제를 어떻게 방지 할 수 있습니까? 통화가 진행되는 동안 진행률 표시기가 움직이기를 원합니다.자바 스크립트 : 서버 호출 중에 브라우저가 멈추는 것을 막으십시오.

$ .ajax 메서드를 사용하여 서버를 호출하고 있습니다. 여기에 코드가 있습니다. $ .ajax에 대한 호출은 invoke 호출에 묻혀 있기 때문에 표시하지 않지만 호출된다는 것을 확인하십시오.

// Show progess indicator while waiting. 
var imgAjaxSaving = $("#imgAjaxSaving"); 
imgAjaxSaving.show(); 

// Call server 
developerServiceProxy.invoke 
("SaveAppSpec", 
    { "appSpec": appSpec }, 
    function (result) 
    { 
     // Hide the progress indicator. 
     imgAjaxSaving.hide(); 
    }, 
    AjaxError, false, false 
); 
+0

진행 표시기와 아약스 호출을 표시하는 데 사용하는 코드를 표시 할 수 있습니까? – megsa

+0

코드의 중요한 비트는 $ ajax 호출입니다. 최소한 developerServiceProxy.invoke (...)의 매개 변수는 무엇입니까? 마지막에 사용 된 두 가지 잘못된 주장은 무엇입니까? –

답변

2

비동기 호출을 사용하고 콜백 함수를 사용하여 진행률 막대를 숨길 수 있습니다. 에

봐 : 또한

http://api.jquery.com/jQuery.ajax/

, 그 비동기 보장은 옵션 (기본값)에서 진정한 같습니다.

+0

나는 이미있다. 비동기 인 $ .ajax를 사용하고 있습니다. – AndroidDev

+0

코드를 게시 할 수 있습니까? –

+0

ajax 옵션에서 "async"가 false가 아닌지 확인할 수 있습니까? –

관련 문제