Wdrożyłem blokowy interfejs użytkownika, ponieważ to żądanie może zająć trochę czasu, gdy żądanie ajaxowe zacznie działać zgodnie z oczekiwaniami.blockUI działa, ale unBlockUI nie jest
Ale gdy zapytanie ajax zakończy się i pojawi się okno msgbox, interfejs użytkownika nie zostanie odblokowany!
Wszelkie pomysły?
Używam 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();
}
}
});
}
+1 Rozwiązanie to właśnie uratowało mnie z ogromnym bólem głowy. Dzięki!! – lhan
Jest to obejście problemu, ale działało idealnie. Zapakowałem drugą linię z 'if ($ .browser.msie && $ .browser.version <9) {' –
Dzięki mister: D – Harsha