2009-09-18 3 views
5

이 요청은 다소 시간이 걸릴 수 있으므로 블록 UI를 구현했습니다. 아약스 요청이 모두 시작될 때 예상대로 작동합니다.blockUI가 작동하지만 unBlockUI가 아님

그러나 아약스 요청이 완료되고 msgbox가 표시되면 UI가 차단 해제되지 않습니다!

아이디어가 있으십니까?

IE8을 사용하고 있습니다.

$().ajaxStart($.blockUI); 
$().ajaxStop($.unblockUI); 

function ChangeCompanyState(companyId, state) { 
    var parameters = "{companyId:" + companyId + ",state:\"" + state + "\"}"; 
    $.ajax({ 
     type: "POST", 
     url: "Ajax/AjaxFragments.aspx/ChangeCompanyState", 
     data: parameters, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
      if (msg.d.length > 1) { 
       alert(msg.d); 
       $.unblockUI(); 
      } 
      else { 
       //Theres no message to process success. 
       window.location.reload(); 
      } 
     } 

    }); 
} 

답변

0

으로는

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

이 문제를 해결하기 위해 보인다 사용, here 말했다. 나는 내 자신의 프로젝트에서 그것을 해결할 다른 방법을 찾지 못했습니다.

7
$.unblockUI(); 
$(".blockUI").fadeOut("slow"); 
+0

한이 솔루션은 엄청난 두통에서 저를 구 했어요. 감사!! – lhan

+0

해결 방법이지만 완벽하게 작동했습니다. 두 번째 줄을 'if ($ .browser.msie && $ .browser.version <9) {' –

+0

으로 마무리했습니다. 감사합니다. Mister : D – Harsha

4

나는 동일하고 unbluckUI 문장에서 parentesis를 사용하여 해결했습니다.

// block when ajax activity starts 
function beginRequestHandler(sender, args) { 
    $.blockUI({ message: '<h1><img src="loading.gif" /> Just a moment...</h1>' }); 
} 

// unblock when ajax activity stops 
function endRequestHandler(sender, args) { 
    $.unblockUI(); // previously was $.unblockUI; 
} 

HTH 밀튼

+0

실제로 실제로 함수를 호출하지 않습니다. 그러나 설명서에 달리 명시되어 있지만 이는 작동합니다. – peterrus