首页 > 解决方案 > 将数据从 SQL 加载到 Tabulator

问题描述

我想将我的 SQL 表中的数据加载到 Tabulator 中,但我总是收到 AJAX 错误:"parsererror",这是由我的 ajax 代码创建的:"console.log('my message: ' + err)"

有人可以帮助这个错误来自哪里以及如何解决它?

您可以在下面找到我使用的代码。

我的表定义如下:

var table = new Tabulator("#example-table", {

    height:"311px",
    layout:"fitColumns",
    columns:[
        {title:"Date", field:"Date", align:"center", sorter:"date", widthGrow:2},
        {title:"Country", field:"Country"},
        {title:"Onlineshop", field:"Onlineshop"},
        {title:"Preis in € excl. MwSt.", field:"Onlineprice_euro", align:"right", sorter:"number"},
        {title:"Onlineshop_URL", field:"Shop_url", widthGrow:2},

    ], 
});

我正在使用以下 ajax 请求加载数据:

$.ajax({
    url:"fetch_onlinepricetable.php",
    method:"POST",
    data:{ean:ean},
    dataType:"JSON",
    success:function(data)
    {                          
        table.setData(data);                           
    },
    error: function(req, err){ console.log('my message: ' + err);}
}); 

我用于加载数据的 PHP 函数如下:

<?php

    $servername = "####";
    $username = "####";
    $password = "####";
    $dbname = "####";

    $con=mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $sql = "SELECT Country,Onlineshop,Shop_url,Date,Onlineprice_euro FROM onlineprices WHERE EAN = '" . $_POST["ean"]. "'";

    $result = $query_id = mysqli_query($con, $sql);

    foreach($result as $row)
    {

        $data[] = array(
            'Date' => $row["Date"],
            'Country' => $row["Country"],
            'Onlineshop' => $row["Onlineshop"],
            'Onlineprice_euro' => $row["Onlineprice_euro"],
            'Shop_url' => $row["Shop_url"]
        );

    };

    echo json_encode($data,JSON_UNESCAPED_UNICODE);
?>

非常感谢您的帮助!

标签: javascriptphpajaxtabulator

解决方案


根据你评论部分的截图。 响应 控制台错误

您正在接收对象而不是数组...要将其转换为对象数组,

在你的 php 中更改行

echo json_encode($data,JSON_UNESCAPED_UNICODE);

echo "[".json_encode($data,JSON_UNESCAPED_UNICODE)."]";


推荐阅读