2

我有以下代码,我尝试通过“whatever.php”获取一些数据。这个 php 文件花费大约 20 秒来获取数据库请求。在服务器回答数据之前,导航器被阻止(如果我让它异步,它允许我点击或填写输入,但它只在提到的 20 秒后重定向)。我尝试中止这个 ajax 实例,但是在中止之后,它也会等待那个时间。

我想要做的是,如果用户不想等待请求完成并显示表格,他应该能够打开指向其他子页面的链接。

var contenidoAjax = $('div#table_solicitudes').html('<p><img src="'.URL.'images/ajax-loader.gif" /></p>');
var instanciaAjax=$.ajax({   
url: whatever.php, 
success: function(data) {   
    if (data == "bad") {
        $('div#table_solicitudes').html("Went bad");
    }
    else {  
        $('div#table_solicitudes').html(data);
    }
}

谢谢你的时间!

4

1 回答 1

0

您应该使用“beforeSend”和“complete”方法来显示和隐藏指标。

例子 :

$.ajax({   
   url: whatever.php, 
   beforeSend: function(){
      $('div#table_solicitudes').html('<p><img src="'.URL.'images/ajax-loader.gif" /></p>'); // add indicator
   },
   complete: function(){
      $('div#table_solicitudes').html(""); // remove indicator
   }
   // existing stuff
}

希望这会有所帮助!

于 2012-09-25T12:42:29.377 回答