1

asp.net mvc のコントローラーへの jquery.ajax 呼び出しを使用しています...読み込みインジケーターを表示したい..これを試しましたが、うまくいかないようです...

<div class="loading" style="padding-left:5px; margin-bottom:5px;display:none;">
      Loading...&nbsp
</div>

私のjquery ajax呼び出しは次のようになります。

function getMaterials(currentPage) {
    $.ajax({
    url: "Materials/GetMaterials",
        data: {'currentPage': (currentPage + 1) ,'pageSize':5},
        contentType: "application/json; charset=utf-8",
        global: false,
        async: false,
        dataType: "json",
        success: function(data) {
            var divs = '';
            $("#ResultsDiv").empty();
            $.each(data.Results, function() {
                //my logic here....              
                $(".loading").bind("ajaxStart", function() {
                $(this).show();
                }).bind("ajaxStop", function() {
                $(this).hide();
                });
            }
    });
    return false;
}

ローディングインジケータが表示されないようです..何か提案があれば....

4

2 に答える 2

4

を使用.ajax()すると、次のように呼び出す必要があります。

beforeSend:  function(xmlHttpRequest){
    // show anything here
}

complete:  function(xmlHttpRequest, status){
    // hide it again
}
于 2010-05-05T07:21:04.153 に答える
2

ajaxStartbeforeSendasync: false で ajax 呼び出しを送信している場合、Firefox では機能しますが、すべてのブラウザー (つまり Safari) では機能しません。私はまだこれへの道を見つけています

于 2012-03-22T08:05:06.593 に答える