1

ASP.NET MVCでは、JSONとjqueryを使用してグラフのデータを取得しています。コントロールを無効にし、データの読み込みとグラフの描画中にカーソルを待機するように設定する方法はありますか?私のコードの要約は

<script type="text/javascript">
     $(document).ready(function () {
            $.getJSON(
                '@Url.Action("JsonPlot", "Home")',
                function (chartData) {
                    var plot1 = $.jqplot('chartdiv', [points], {...});
           });              
        });
</script>

どこに置けますか

$("*").attr("disabled", "disabled");
$('body').css('cursor', 'wait');

その後

$("*").removeAttr('disabled');
$('body').css('cursor', 'auto');

ありがとう!

4

3 に答える 3

2
$(document).ready(function () {
$("*").attr("disabled", "disabled");
$('body').css('cursor', 'wait');

            $.getJSON(
                '@Url.Action("JsonPlot", "Home")',
                success:function (chartData) {
                    var plot1 = $.jqplot('chartdiv', [points], {...});
                     $("*").removeAttr('disabled');
                     $('body').css('cursor', 'auto');

           });              
        });
于 2012-07-03T11:07:26.013 に答える
1

jQuery AJAXコールバックを最大限に活用するには、次を使用する必要があります$.ajax

$.ajax({
    url: '@Url.Action("JsonPlot", "Home")',
    dataType: 'json',
    beforeSend: function() {
        /* Disable UI */
    },
    success: function( data ) {
        /* Update UI using server response */
    },
    complete: function() {
        /* Enable UI again, regardless of whether 
           server call was successful or not*/
    },
    error: function(jqXHR, textStatus) {
        /* Display error message to user */
    }

});
于 2012-07-03T11:19:30.817 に答える
0

jQuery メソッドを使用できます: ajaxStart() および ajaxStop() そのために。

于 2012-07-03T11:10:18.200 に答える