2009-09-18 22 views
5

मैंने ब्लॉक यूआई लागू किया है क्योंकि यह अनुरोध थोड़ा समय ले सकता है, जब AJAX अनुरोध अपेक्षित रूप से सब कुछ काम करता है।ब्लॉकयूआई काम करता है लेकिन unBlockUI

लेकिन जब AJAX अनुरोध समाप्त होता है और संदेश दिखाया जाता है, तो 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

रूप here कहा, का उपयोग कर

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

समस्या को ठीक करने लगता है। मुझे अपनी परियोजना में इसे हल करने का कोई और तरीका नहीं मिला।

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

+1 यह समाधान बस मुझे एक बहुत बड़ा सिरदर्द से बचाया। धन्यवाद!! – lhan

+0

यह एक कामकाज है लेकिन पूरी तरह से काम किया। मैंने दूसरी पंक्ति 'if ($ .browser.msie && $ .browser.version <9) {' –

+0

धन्यवाद मिस्टर: डी – Harsha

4

मेरे पास समान था, और unbluckUI वाक्य में पेरेंटिस का उपयोग करके हल किया गया था।

// 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

संबंधित मुद्दे