Javascript 将数据从SQL加载到制表器
我想将SQL表中的数据加载到制表器中,但我总是收到AJAX错误:Javascript 将数据从SQL加载到制表器,javascript,php,ajax,tabulator,Javascript,Php,Ajax,Tabulator,我想将SQL表中的数据加载到制表器中,但我总是收到AJAX错误:“parserror”,它是由我的AJAX代码创建的:“console.log('my message:'+err) 有人能帮我找出这个错误的来源和解决方法吗 你可以在下面找到我用过的代码 我的表格定义如下: var table = new Tabulator("#example-table", { height:"311px", layout:"fitColumns", columns:[
“parserror”
,它是由我的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},
],
});
<?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);
?>
我使用以下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函数如下所示:
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},
],
});
<?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);
?>
根据您评论部分的屏幕截图。
您正在接收的是对象而不是数组。。。要将其转换为对象数组
在php中更改行
echo json\u encode($data,json\u UNESCAPED\u UNICODE)代码>
到
echo“[”.json_encode($data,json_UNESCAPED_UNICODE)。”]代码>能否在网络选项卡中显示ajax请求的响应?我希望这就是您的意思:。(我把图像上传到我的dropbox)是的。。但图片只显示标题。。。我需要回复文本。。。。转到antwort
tab请在所附图像中找到响应文本。您还可以找到在phpmyadmin中执行的示例sql查询