【问题标题】:jQuery datatables not displaying datajQuery数据表不显示数据
【发布时间】:2018-08-24 13:35:51
【问题描述】:

使用 AJAX 提取数据并显示在数据表中,但它没有显示在表中.. 好的,我的 jquery 数据表代码是

<script>
$(document).ready(function() {
  $.ajax({
        url:"data/companylist-ajax.php",
        success:function(data)  {
          var myobj = JSON.parse(data);
    $('#companylist').DataTable(
        "data": myobj,
        "columns": [
            { "data": "name" },
            { "data": "regoffice_city" },
            { "data": "regoffice_country" },
            { "data": "is_customer" },
            { "data": "is_supplier" }
        ]
      )
    }
    } );
} );
</script>

我的 JSON 数据的 PHP 代码是

$query = mysqli_query($dbc,"SELECT * FROM `comp_companies` LIMIT 0, 500");
$result = mysqli_fetch_assoc($query);

do { $newdata = json_encode($result); echo $newdata; } while($result = mysqli_fetch_assoc($query));

页面显示的数据是

{"company_id":"1","company_sector":"0","company_type":"TEST-COMP","individual":"0","name":"Test Ltd","regoffice_1":"18 Alma Road","regoffice_2":"","regoffice_3":"","regoffice_city":"Hinckley","regoffice_county":"Leicestershire","regoffice_country":"United Kingdom","regoffice_postcode":"LE10 1PN","is_customer":"1","customer_approved":"0","is_supplier":"0","supplier_approved":"0","registration_no":"123"}

当我直接访问页面时它会显示数据,但它不会显示在数据表中

不知道是不是我做错了

【问题讨论】:

    标签: jquery ajax datatables


    【解决方案1】:

    你可以像这样使用数据表的ajax选项

     $('#companylist').DataTable({
        dom: "Bfrtip",
        ajax: {
          url: "data/companylist-ajax.php",
          type: 'POST'
        },
    
        aLengthMenu: [[10, 25, 50], [10, 25, 50]], 
        bPaginate:true,
        scrollX: "100%",
        order: [[ 0, "desc" ]],
        scrollCollapse: true,
        columns: [
          { "data": "name" },
          { "data": "regoffice_city" },
          { "data": "regoffice_country" },
          { "data": "is_customer" },
          { "data": "is_supplier" }
        ]
      });
    

    而服务器的json响应应该是这样的

    {
      "data": [
        [
          "Abc",
          "xyz",
          "abc",
          "yes",
          "no"
        ],
        [
          "Pqr",
          "xyz",
          "abc",
          "no",
          "yes"
        ],
    }
    

    【讨论】:

    • 我现在得到 Uncaught ReferenceError: $ is not defined $(document).ready(function() {
    • @ChrisYates 你的项目中包含 jquery 吗?
    • 我也试过 CDN 而不是我的本地版本,但还是一样
    • 确保在执行此操作之前加载 jquery $(document).ready(function() { ... stackoverflow.com/questions/2075337/… ... 或者,使用 jquery(document).ready(function($) 将 jquery 传递为 $ ...如果您认为 jquery 脚本之间存在冲突(即项目中包含超过 1 个但您不知道),则希望执行此操作
    • 啊哈哈哎呀!感谢您指出显而易见的.. 不敢相信我是那么愚蠢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    相关资源
    最近更新 更多