Jquery Ajax после анимации во время процесса Ajax?

Я делаю пост ajax в моем приложении MVC, когда выпадающий список меняется.

$(function () {
    $('#meters').change(function () {
        var analizor_id = $(this).val();
        if (analizor_id && analizor_id != '') {
            $.ajax({
                url: '@Url.Action("AnalizorInfoPartial", "Enerji")',
                type: 'GET',
                cache: false,
                data: { analizor_id: analizor_id },
                success: function (result) {
                    $('#TableAnalizorInfo').html(result);
                }
            });
        }
    });
});

Падать

@Html.DropDownList("sno", new SelectList(Model, "sno", "AnalizorAdi"), "-- Analizör Seçiniz --", new { id = "meters" })

Могу ли я показать загрузочное изображение или что-нибудь еще во время процесса AJAX? (между началом - завершением события) и примером кода?

РЕДАКТИРОВАТЬ

Могу ли я использовать как это?

success: function (result) {
    $('#TableAnalizorInfo').html(result);
}
begin:function(){ 
    //show image
}
complete:function(){ 
    //hide image
}

Благодарю.

1 ответ

Решение

Конечно, события, которые вы ищете, beforeSend а также complete:

if (analizor_id && analizor_id != '') {
     $.ajax({
         url: '@Url.Action("AnalizorInfoPartial", "Enerji")',
         type: 'GET',
         cache: false,
         beforeSend: function() {
             // Show your spinner
         }, 
         complete: function() {
             // Hide your spinner
         },
         data: { analizor_id: analizor_id },
         success: function (result) {
            $('#TableAnalizorInfo').html(result);
        }
    });
}

или вы можете сделать это глобально для всех запросов AJAX на странице, используя глобальные обработчики событий AJAX:

$(document).ajaxSend(function() {
    // Show your spinner
}).ajaxComplete(function() {
    // Hide your spinner
});
Другие вопросы по тегам