страница зависла при выполнении веб-метода - PullRequest
0 голосов
/ 06 мая 2011

Я работаю над ajax-webmethod (использующим json), чтобы сохранить данные в базе данных и выбрать их при необходимости. Теперь всякий раз, когда я вызываю webmethod, пока метод обрабатывается, вся страница зависает, и со страницей ничего не поделаешь.

Я хочу включить все, пока веб-метод вызывается из ajax, например, отображать загрузочную картинку до завершения веб-метода.

Мой код ниже:

function getvalues(id, tab, pageNo) {
    $.ajax({
        type: "POST",
        url: "default.aspx/LoadData",
        data: "{'id':'" + id + "','tab':'" + tab + "','pageNo':'" + pageNo + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            if (msg.d.length > 0) {
                var dvComment = document.getElementById("Comments");
                dvComment.innerHTML += msg.d;
            }  
        },
        async: true,
        error: function(xhr, status, error) {
            // alert(xhr.statusText);
        }
    });
}

Так что теперь, когда он рендерит HTML в DIV все время, пока страница зависает.

1 Ответ

0 голосов
/ 06 мая 2011

Чтобы показать загрузку изображения, вы можете использовать метод ajaxStart, например:

$("#loading").ajaxStart(function(){
    $(this).show();
});

Где #loading:

<img id="loading" src="images/ajaxload.gif" alt="loading..." style="display:none"/>

Чтобы скрыть загрузку изображения:

$("#loading").ajaxComplete(function(){
   $(this).hide();
});
...