1

我正在使用dataTable.net插件在我的 html 页面上绘制表格,它工作正常。我想执行一个函数说它xyz()包含一个ajax调用(ajax调用也按我的意愿执行)。在绘制表格之前我想执行xyz()函数,但它是先绘制表格然后执行函数。我打电话xyz()

    $(function () {
    xyz();

    // dataTable.net code.

    });

    xyz()
    {
       $.ajax(
       {
          // some code
       }); 
    }

实际上,我正在从服务器获取一些数据,并尝试将其呈现给 dataTable.net,但 dataTable.net 首先是在 ajax 调用完成之后绘制表格,尽管我在 dataTable.net 之前调用 ajax。

请帮我。

4

3 回答 3

1

我不确定,但我认为 JavaScript 不等待 ajax 完成意味着返回一些数据,它只是在继续。我认为,它只是执行 ajax 功能并进一步发展。现在我通过在ajax成功中绘制dataTable来管理它,如果有人可以改进它,请编辑它。

于 2013-01-23T05:54:42.480 回答
0

试试这个 :-

$(document).ready(function() {
      xyz();
        $('Your Div ID').load(function() {
           // // dataTable.net code.
         });
    });
于 2013-01-18T13:08:05.647 回答
0

http://legacy.datatables.net/usage/callbacks,使用回调“fnInitComplete”

$(document).ready( function() {
    $('#example').dataTable( {
        "fnInitComplete": function(oSettings, json) {
          //check first draw
            if (json.draw == 1) {
                xyz(); //call your function here
            }
        }
    });
});
于 2014-06-11T07:17:59.337 回答