обработка времени ожидания сеанса - PullRequest
0 голосов
/ 26 мая 2011

Я вызываю действие controllr с помощью jquery load, которое отлично работает ... оно блокирует пользовательский интерфейс до тех пор, пока данные не поступят из действия.

Но когда время сеанса истекло, то приведенный ниже код генерирует необработанную ошибку ... как ее обработать ... пожалуйста, помогите ...

 //block the UI until the request is rendered
    $.blockUI({ message: '<h3><b><img src="@Url.Content("~/content/images/loading.gif")" /> Please wait while the request is being processed...</b></h3>' });

    //load partial view contain grid
    $('#rptPOSList').load('@Url.Action("POSListData", "Reports")', { activePOS: ActivePOS, inactivePOS: InActivePOS }, function () {
        $('#contentDiv').show();
        //unblock the UI     
        $.unblockUI();
    });

1 Ответ

3 голосов
/ 26 мая 2011

Вы можете использовать $.ajax вместо .load(), что позволяет указать обработчик ошибок:

$.ajax({
    url: '@Url.Action("POSListData", "Reports")',
    data: { activePOS: ActivePOS, inactivePOS: InActivePOS },
    success: function(result) {
        $('#rptPOSList').html(result);
        $('#contentDiv').show();
        $.unblockUI();
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert('oops something went wrong');
    }
});

Или, если дело только в разблокировке интерфейса независимо от того, успешно ли выполнен вызов AJAX или нет, вы можете использовать обратный вызов complete:

$.ajax({
    url: '@Url.Action("POSListData", "Reports")',
    data: { activePOS: ActivePOS, inactivePOS: InActivePOS },
    complete: function(jqXHR, textStatus) {
        $.unblockUI();
    },
    success: function(result) {
        $('#rptPOSList').html(result);
        $('#contentDiv').show();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...