Asp.net mvc 如何使用json结果在我的视图中显示加载div

Asp.net mvc 如何使用json结果在我的视图中显示加载div,asp.net-mvc,Asp.net Mvc,我正在MVC应用程序中使用加载div。所以我得到了json结果值并显示了剑道网格。由于更多的数据,这需要时间,所以为此我使用了这个,但不幸的是,它不起作用。 下面是我的代码 这是我在视图中使用的脚本 $(文档).ready(函数(){ var action=“@Url.Content(“~/Dashboard/ChartInitialDataBinding/”); $(“#微调器”).show() $.getJSON(操作、空、函数(某物) { $(“#微调器”).hide() }); })

我正在MVC应用程序中使用加载div。所以我得到了json结果值并显示了剑道网格。由于更多的数据,这需要时间,所以为此我使用了这个,但不幸的是,它不起作用。 下面是我的代码 这是我在视图中使用的脚本


$(文档).ready(函数(){
var action=“@Url.Content(“~/Dashboard/ChartInitialDataBinding/”);
$(“#微调器”).show()
$.getJSON(操作、空、函数(某物)
{
$(“#微调器”).hide()
});
});

以下是需要检查/修复的事项列表:

-在$('#spinner').show()和$('#spinner').hide()之后添加分号

-确保已经包含jQuery


-在删除“display:none”时检查微调器是否在视图中

您应该从文档中了解到,这只是在
ajax
jquery函数上方的换行符

那么,您不想将微调器不仅放在这个函数中,而且放在所有ajax请求中吗?我认为这样更好,因为你可以在一个地方定义这个,不要再考虑这个问题

Layout
视图中,加载jquery库后,只需添加以下脚本:

$(document).ready(function () {
    $.ajaxSetup({
        beforeSend: function () {
            $('#spinner').show()
        },
        complete: function () {
            $('#spinner').hide()
        },
        error: function () {
            $('#spinner').hide()
        }
    });
});

您可以阅读更多信息。

我用分号表示“显示”和“隐藏”,但当网格显示时它会显示。我不明白。是否希望微调器在加载网格数据之前一直显示?是的,我希望当actionresult函数调用时,加载应该开始,当加载完成时,加载应该完成我不知道为什么加载页面会花费更多时间。我将blockui放在layout.cshtml页面中,因此它应该可以用于所有视图,但无法找到加载页面所需的时间。这就是teo van kot刚才回答的问题。您可以全局绑定jQuery的ajax事件。