.success()和.complete()之间的区别?

从jQuery 1.5开始,所有jQuery的AJAX方法都会返回提供.error() .success().success()方法的jqXHR对象。

.success().success()之间有什么区别?

.success()只有在你的web服务器响应200 OK HTTP头时才会被调用 – 基本上当一切正常的时候。

但是,无论ajax调用是否成功, .complete()都会被调用 – 可能会输出错误并返回错误 – .complete()仍然会被调用。

值得一提的是 .success() .success()被调用之后被调用 – 如果它对你很重要的话。

当服务器返回一个200状态码时调用success() ,不pipe结果如何, complete()在请求完成时总是被调用。

success()在服务器返回200状态码时调用, complete()success()之后被调用。 我看到一些区别:

success()你不能得到xml响应string,你使用$.ajax()和设置dataType:xml但是在complete()你可以得到string格式的readed xml文档使用

 $.ajax({ url:'??', dataType:'xml', oncomplete: function(data,status){ console.log(data.responseText); } })