检查AJAX请求在jQuery中是否成功的最佳方法

前端之家收集整理的这篇文章主要介绍了检查AJAX请求在jQuery中是否成功的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在检查,以确保我的 AJAX请求是成功的做这样的事情:
  1. $.post("page.PHP",{data: stuff},function(data,status) {
  2. if(status == "success") {
  3. //Code here
  4. }
  5. else {
  6. //Error handling stuff
  7. }
  8. });

检查状态变量是执行此操作的最佳方式,还是有更好的方法确保请求实际执行?我正在考虑一个“成功”的请求,作为一个请求,我发布成功的页面,没有超时(如果服务器关闭,AJAX请求作为一个例子),或返回任何404或500错误.

通过这样调用$.post,您只能在成功处理函数自动传递.

如果请求出现问题,该方法甚至不执行.

要有更多的控制权可以直接使用$.ajax(),或者传递失败的处理程序.那可能看起来像

  1. $.post("page.PHP",status) {
  2. // we're fine here
  3. }).fail(function(err,status) {
  4. // something went wrong,check err and status
  5. });

同样的事情使用.ajax():

  1. $.ajax({
  2. type: 'POST',url: 'page.PHP',data: stuff,success: function( data ) {
  3. },error: function(xhr,status,error) {
  4. // check status && error
  5. },dataType: 'text'
  6. });

您甚至可以将更多的ajax事件处理程序传递给$.ajax,如beforeSend修改/读取XHR标头,或者在请求完成时,完成一个处理程序可以触发任何一种方式(错误或不发生).

猜你在找的Ajax相关文章