-1

我想在 AJAX 请求未完成处理且尚未从服务器返回时显示加载图像,是否有任何选项可以在状态未完成时处理 ajax

 jQuery.ajax({
            url: "/privileges/users/get-group-users",
            type: "POST",
            dataType: 'JSON',
            data: {
                "group_id":groupId
            },
            success: function(users){

            },
            error: function(e){

            }
        });

有没有像成功或错误这样的选项???

4

4 回答 4

2

使用ajaxStart - ajaxStop

<img src="img/loading.gif" style="display:none;" id="loading"/>

JS:

// if there is any ajax call the loading image will be visible
$("#loading").ajaxStart(function(){
   $(this).show();
 });

//if the ajax call stoped hide the loading image
$("#loading").ajaxStop(function(){
   $(this).hide();
 });
于 2012-08-29T10:35:12.547 回答
0

只要您使用异步AJAX 请求,它就会在您调用 时隐式进行,并在调用or函数$.ajax()时完成。successerror

使用现代 jQuery(即 1.5+)时更好的模型是这样的:

var jqXHR = $.ajax({ ... });    // don't put success and error in yet

var $splash = $(...).show();

jqXHR.always(function() {
    $splash.hide();
}).done(function(users) {
    ...
}).fail(function(e) {
    ...;
});
于 2012-08-29T10:35:01.697 回答
0

你可以使用:

$('#loading').ajaxStart(function() {
  $(this).show();
}).ajaxComplete(function() {
  $(this).hide();
});
于 2012-08-29T10:38:21.907 回答
0

以下是由 提供的回调挂钩$.ajax()

beforeSend回调被调用;它接收 jqXHR 对象和设置映射作为参数。

error如果请求失败,将按照注册顺序调用回调。他们接收 jqXHR、一个指示错误类型的字符串和一个异常对象(如果适用)。一些内置错误会提供一个字符串作为异常对象:“abort”、“timeout”、“No Transport”。

dataFilter成功接收到响应数据后立即调用回调。它接收返回的数据和 dataType 的值,并且必须返回(可能已更改的)数据以传递成功。

success如果请求成功,则按照注册顺序调用回调。他们接收返回的数据、包含成功代码的字符串和 jqXHR 对象。

complete当请求完成时,无论是失败还是成功,回调都会按照注册的顺序触发。他们接收 jqXHR 对象,以及包含成功或错误代码的字符串。

来源:jQuery API

$.ajax() 的所有细节都非常详细地给出

于 2012-08-29T10:38:25.667 回答