5

このリクエストには少し時間がかかるため、ブロック UI を実装しました。ajax リクエストがすべて期待どおりに機能するまでの時間です。

しかし、ajax リクエストが終了して 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();
            }
        }

    });
}
4

3 に答える 3

8
$.unblockUI();
$(".blockUI").fadeOut("slow"); 
于 2009-11-02T15:16:17.267 に答える
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 ミルトン

于 2010-10-15T13:08:09.950 に答える
0

ここで言われたように、

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

問題を解決するようです。自分のプロジェクトでそれを解決する他の方法はありませんでした。

于 2009-10-06T16:17:06.163 に答える