我需要在查看部分视图之前查看加载指示器

时间:2018-04-10 07:13:58

标签: javascript .net ajax

这是我的代码html。

<input type="button" name="signup_submit" data-toggle="collapse" data-target="#panel" onclick="generate('#report', '_DailyReport', 'Reports');" class="btn btn-primary toggle" id="btnSubmit" value="Generate"  />

部分视图div

<div class="panel panel-default" id="report" style="display:none">

这是我查看局部视图的ajax

var generate = function (editHtmlInnerId, EditActionName, EditcontrollerName) {
    debugger;
$.ajax({
    url: "/" + EditcontrollerName + "/" + EditActionName,
    type: $("#addNewUserForm").attr('method'),
    data: $("#addNewUserForm").serialize(),
    success: function (result) {

        $(editHtmlInnerId).html(result);
        $(editHtmlInnerId).show();

       },
    error: function () {
    }
});
};

所以我需要显示加载指示器,直到数据在局部视图中加载。我的局部视图包含一个生成数据的表。

1 个答案:

答案 0 :(得分:0)

您可以在ajax调用之前显示加载指示符,然后将其隐藏在“成功”和“错误”事件中:

var generate = function (editHtmlInnerId, EditActionName, EditcontrollerName) {
    debugger;

// Shows div with loading stuff.
$("#divLoading").show();

$.ajax({
    url: "/" + EditcontrollerName + "/" + EditActionName,
    type: $("#addNewUserForm").attr('method'),
    data: $("#addNewUserForm").serialize(),
    success: function (result) {

        // Hides loading indicator.
        $("#divLoading").hide();

        $(editHtmlInnerId).html(result);
        $(editHtmlInnerId).show();

       },
    error: function () {

        // Hides loading indicator.
        $("#divLoading").hide();

    }
});