等到AJAX请求之后显示数据(30,000行),然后再调用函数

时间:2018-03-29 15:18:01

标签: javascript php jquery ajax

基本上我有一个在处理数据之前无法调用的函数。

我的data.done函数显然不起作用,大约有30,000条记录,因此浏览器滞后约5秒,并且在处理数据之前调用该函数意味着该函数将无效。 / p>

$('#order').html(data)是罪魁祸首,我需要找到一种方法来了解它何时处理完数据?

我真的希望你们这些人可以帮助我。

<script>
  function DataTable() {
    $('#dataTables-example').DataTable({
      responsive: true
    });
  }
</script>

<script type="text/javascript">
  $(document).ajaxStart(function() {
    $("#loading").show();
  }).ajaxStop(function() {
    $("#loading").hide();
    DataTable()
  });

  $(document).ready(function() {
    $('.text').text('');
    $.ajax({
      type: "GET",
      dataType: 'html',
      url: "vieworderhistory",
      timeout: 120000,
      cache: true,
      success: function(data, status, xhr) {
        $('#order').html(data).done(function() {
          alert("Data processed.");
          DataTable() //This is the function I want to be called when the data has been processed and is on the browser page.
        });
      },
      error: function(xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
    });
  });
</script>

1 个答案:

答案 0 :(得分:0)

$('#order').html(data);
alert("Data processed.");
DataTable();

这应该有效。只有在$('#order').html(data)完成后才会显示提醒。