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 回答