$.ajax() 中 done() 、fail()、always() 的用法

1、$.ajax() 一般用法

$.ajax({
    url:"/demo/test.do",
      type:"post",      
      timeout:15000,//超时时间
      beforeSend:function(XMLHttpRequest){            
          $("#loading").html("<img src='/jqueryStu/images/loading.gif' />");
      },
      success:function(data,textStatus){
         console.log('开始回调,状态文本值:'+textStatus+' 返回数据:'+data);
         //开始遍历data的值
          for(var i=0;i<data.length;i++){
             
          }
      },
      complete:function(XMLHttpRequest,textStatus){
          console.log('远程调用成功,状态文本值:'+textStatus);
         $("#loading").empty();
      },
      error:function(XMLHttpRequest,textStatus,errorThrown){
         console.log('error...状态文本值:'+textStatus+" 异常信息:"+errorThrown);
         $("#loading").empty();
      }
});

说明:

  • success 只有在AJAX调用成功时才会触发,即最终返回HTTP 200状态。
  • error 请求失败;
  • complete 请求结束,则会触发,无论成功与否。

2、 $.ajax().done()

从JQuery 1.8,$.ajax()的 success() 被替换为 done() ,error() 被替换为 fail() ,complete() 被替换为 always() 。

function test(){	
	$.ajax({
		type: "post",
		url: "/exportUploadUserDetailCount",
		dataType: "json",		
		
	}).done(function(data){     // 相当于 success 
		console.log(data)
		if(data.result){
			result = data.result;			
		}		
		
	}).fail(function(jqXHR, textStatus, errorThrown){ // 相当于 error
		
	}).always(function( jqXHR, textStatus ){		 // 相当于 always 
		
	});	
}
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页