Jquery 什么是处理请求的AJAX选项,而它';还不完整吗?

Jquery 什么是处理请求的AJAX选项,而它';还不完整吗?,jquery,ajax,Jquery,Ajax,我想在AJAX请求未完成处理且未从服务器返回时显示加载图像,是否有任何选项在状态未完成时处理AJAX jQuery.ajax({ url: "/privileges/users/get-group-users", type: "POST", dataType: 'JSON', data: { "group_id":groupId },

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

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

            },
            error: function(e){

            }
        });
是否有成功或错误之类的选项?

只要您使用异步AJAX请求,只要您调用
$.AJAX()
,它就会隐式进行,并且在调用
成功
错误
函数时完成

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


使用
ajaxStart-ajaxStop

<img src="img/loading.gif" style="display:none;" id="loading"/>
您可以使用:

$('#loading').ajaxStart(function() {
  $(this).show();
}).ajaxComplete(function() {
  $(this).hide();
});

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

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

错误
如果请求失败,将按注册顺序调用回调。它们接收jqXHR、指示错误类型的字符串和异常对象(如果适用)。一些内置错误将提供一个字符串作为异常对象:“中止”、“超时”、“无传输”

dataFilter
成功接收响应数据后立即调用回调。它接收返回的数据和数据类型的值,并且必须返回(可能更改的)数据才能传递给success

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

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

资料来源:


有关$.ajax()的所有详细信息都非常详细

我可以在ajaxStart回调函数中获取请求的url吗?我想防止在某些Ajax调用中出现加载图像。
// 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();
 });
$('#loading').ajaxStart(function() {
  $(this).show();
}).ajaxComplete(function() {
  $(this).hide();
});