如何在Jquery .click函数结束之前显示UI更新?

时间:2015-10-15 23:20:54

标签: jquery ajax

我有一个用于进行一些处理和Ajax调用的按钮,所以我在Jquery .click()中做了它并且它工作正常但是当我尝试创建加载微调器时,加载微调器没有出现在ajax和.click()代码的结尾。

所以我想在.click()开始时启动微调器并隐藏ajax成功,该怎么做?

像:

    $("#ConfirmBTN").click(function () {

    $("#confirmBody").LoadingOverlay("show");
    ... some code
                $.ajax({
                type: 'POST',
                dataType: 'text',
                url: url,
                data: "jsonData=" + jsonData,
                success: function (returnPayload) {
                ..
                    $("#confirmBody").LoadingOverlay("hide");
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    $("#confirmBody").LoadingOverlay("hide");
                },
                processData: false,
                async: false
            });

    }

1 个答案:

答案 0 :(得分:1)

摆脱async: false。然后你的点击功能将返回浏览器的主事件循环,它将更新显示。

将任何依赖于AJAX响应的代码移动到success:函数中。