我可以使用jQuery来显示Ajax查询何时进行吗?

我可以使用jQuery来显示Ajax查询何时进行吗?,jquery,Jquery,我使用以下javascript来检测字段何时更改: <script type="text/javascript"> $(document).ready(function () { $("select[id^='Status_'], input[id^='Position_']").change(function (e) { var type = $(this).attr('id').split('_')[0];

我使用以下javascript来检测字段何时更改:

<script type="text/javascript">
    $(document).ready(function () {
        $("select[id^='Status_'], input[id^='Position_']").change(function (e) {
            var type = $(this).attr('id').split('_')[0];
            updateField('Account', $(this), type);
        });
    });
</script>
是否有某种方式可以向用户提供更新正在进行的视觉线索。比如更改光标然后再将其更改回来


另外,我如何向我的用户显示更新是否失败?

如果您想使用一些jQuery库,那么这将有帮助:

如果您想使用一些jQuery库,那么这将有帮助:

在调用updateField函数之前显示一些图像(可以在此处生成nice),并在成功后隐藏它


在$.ajax中,您可以使用success和error。

在调用updateField函数之前显示一些图像(可以在此处生成nice),并在成功后将其隐藏


在$.ajax中,您可以使用success和error。

在调用您之前。
$.ajax()
显示具有动画或消息的元素以进行加载,并在
$.ajax()
中添加成功处理程序:

$.ajax({
    ...
    success: function() {
       alert('done');
    }
});

调用
$.ajax()
之前,请显示包含要加载的动画或消息的元素,并在
$.ajax()
中添加成功处理程序:

$.ajax({
    ...
    success: function() {
       alert('done');
    }
});
使用以下命令:

function updateField(entity, obj, type) {
    var val = obj.val();
    var idArr = obj.attr("id");
    var idTmp = idArr.split("_");
    var id = idTmp[1];
    var pk = $('#Meta_PartitionKey').val();
    var rk = $("div[id='rk_" + id + "']").html();
    enableLoadingIcon();
    $.ajax({
        cache: false,
        url: "/Administration/" + entity + "s/Update",
        data: {
            pk: pk,
            rk: rk,
            fld: type,
            val: val
        },
        success: function()
        {
            disableLoadingIcon();
        }
    });
};
然后实现两个函数enableLoading和disableLoading来显示加载图标或任何东西

例如,实现css样式以更改整个主体的光标:

body.ajaxloading {
    cursor:wait;
}
有关示例,请参见此处:

然后实现如下功能:

function enableLoadingIcon() {
    $(body).addClass('ajaxloading');
}
function disableLoadingIcon() {
    $(body).addClass('ajaxloading');
}
使用以下命令:

function updateField(entity, obj, type) {
    var val = obj.val();
    var idArr = obj.attr("id");
    var idTmp = idArr.split("_");
    var id = idTmp[1];
    var pk = $('#Meta_PartitionKey').val();
    var rk = $("div[id='rk_" + id + "']").html();
    enableLoadingIcon();
    $.ajax({
        cache: false,
        url: "/Administration/" + entity + "s/Update",
        data: {
            pk: pk,
            rk: rk,
            fld: type,
            val: val
        },
        success: function()
        {
            disableLoadingIcon();
        }
    });
};
然后实现两个函数enableLoading和disableLoading来显示加载图标或任何东西

例如,实现css样式以更改整个主体的光标:

body.ajaxloading {
    cursor:wait;
}
有关示例,请参见此处:

然后实现如下功能:

function enableLoadingIcon() {
    $(body).addClass('ajaxloading');
}
function disableLoadingIcon() {
    $(body).addClass('ajaxloading');
}

您可以将blockUI与ajax的回调函数结合使用

function updateField(entity, obj, type) {
$.blockUI();
var val = obj.val();
var idArr = obj.attr("id");
var idTmp = idArr.split("_");
var id = idTmp[1];
var pk = $('#Meta_PartitionKey').val();
var rk = $("div[id='rk_" + id + "']").html();
$.ajax({
    cache: false,
    url: "/Administration/" + entity + "s/Update",
    data: {
        pk: pk,
        rk: rk,
        fld: type,
        val: val
    },
    success: function(){
        $.unblockUI();
    }
});
};

您可以将blockUI与ajax的回调函数结合使用

function updateField(entity, obj, type) {
$.blockUI();
var val = obj.val();
var idArr = obj.attr("id");
var idTmp = idArr.split("_");
var id = idTmp[1];
var pk = $('#Meta_PartitionKey').val();
var rk = $("div[id='rk_" + id + "']").html();
$.ajax({
    cache: false,
    url: "/Administration/" + entity + "s/Update",
    data: {
        pk: pk,
        rk: rk,
        fld: type,
        val: val
    },
    success: function(){
        $.unblockUI();
    }
});
};
您还必须处理错误情况,但这应该足以让您开始


您还必须处理错误情况,但这应该足以让您开始

您可以使用beforeSend()生成某种警报您可以使用beforeSend()生成某种警报用户将对屏幕进行许多更改。感谢您花时间提供帮助,但如果他们看到每次更新开始和结束时都会弹出警报框,他们会杀了我。警报框只是一个例子,您可以将此代码更改为您希望的任何内容。用户将对屏幕进行许多更改。谢谢你花时间来帮助我,但是如果他们看到每次更新开始和结束时都会弹出警报框,他们会杀了我。警报框只是一个例子,你可以将此代码更改为任何你想更改的内容。这看起来不错。你见过这类函数的例子吗?有什么方法可以改变游标类型吗?您可以在css中指定一个加载游标,例如body.ajaxloading,然后实现两个函数来将类设置/取消设置为body标记。。。我会编辑答案这看起来不错。你见过这类函数的例子吗?有什么方法可以改变游标类型吗?您可以在css中指定一个加载游标,例如body.ajaxloading,然后实现两个函数来将类设置/取消设置为body标记。。。我将编辑答案