2014-10-30 111 views
0

我的主机当前有服务器问题,使今天成为完美的一天来测试当我的ajax调用失败时会发生什么。因此,我发现当出现问题时,我的成功或失败功能在下面被称为:(为了简单起见,简化了)。目前,这将每10次完全失败一次。jquery post偶尔不会调用成功或错误函数

我想知道如何确保我能够捕捉到所有Ajax错误,例如当服务器根本没有回应时,就像今天的情况一样。

myvar = jQuery.post(ajax_object.ajax_url, data, function(response) { 
       console.log('success!'); 
     }) 
     .fail(function() { 
       console.log('sad trombone'); 
     }); 
+0

如果请求被调用,您是否在Chrome/Firebug - >网络选项卡中看到过? – rogelio 2014-10-30 01:36:34

+0

@rogelio之前没有使用网络选项卡...我的服务器目前完全关闭,只要它恢复,我会测试 – 2014-10-30 01:38:24

+0

您可以在本地重现此问题吗? – rogelio 2014-10-30 01:42:43

回答

0

你可以试试这两种方法。

  $.ajax({ 
       url: ajax_object.ajax_url, 
       type: 'POST', 
       async: false, 
       cache: false, 
       timeout: 30000, 
       data : data, 
       dataType: 'json', // use this if you want json response 
       error: function() { 
        return true; 
       }, 
       success: function(data) { 

       console.log(data); 

       } 
      }); 

     OR $.post(ajax_object.ajax_url, { data:data }, function(response){ 
      console.log(response); 
      }); 

首先你简单地给回声“hii”;出口;在页面ajax_object.ajax_url,以便您可以测试它是否正确重定向到该页面。