我正在尝试使用jquery .get请求填充表,该url是一个php文件。 php从数据库获取数据,然后它应该将json数组返回给jquery,数组将填充表。虽然数组的长度按原样返回,但表格单元格为空。
这是我的get.php函数:
<?php
$mysqli=new mysqli("localhost:3306","root","","leagues");
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$return_arr = array();
$query = "SELECT * FROM league";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_row())
{
$return_arr[] = $row;
}
}
$mysqli->close();
header('Content-Type: application/json');
echo json_encode($return_arr);
?>
这是我的jquery get函数
$.get('php/get.php',function(responseJson)
{
if(responseJson!=null)
{
$("#tableleague").find("tr:gt(0)").remove();
var table1 = $("#tableleague");
$.each(responseJson, function(key,value) {
var rowNew = $("<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>");
rowNew.children().eq(0).text(value['teams']);
rowNew.children().eq(1).text(value['playedgames']);
rowNew.children().eq(2).text(value['wongames']);
rowNew.children().eq(3).text(value['tiegames']);
rowNew.children().eq(4).text(value['lostgames']);
rowNew.children().eq(5).text(value['scoredgoal']);
rowNew.children().eq(6).text(value['receivedgoal']);
rowNew.children().eq(7).text(value['points']);
rowNew.appendTo(table1);
});
}
});
由于反应还可以,我错误的是细胞没有被填满?谢谢。
答案 0 :(得分:1)
如果查看JSON数据,可以看到没有teams
或playedgames
等密钥。这是因为您在PHP中使用了fetch_row()
。将其更改为fetch_assoc()
:
while ($row = $result->fetch_assoc())
这将为您$row
提供字段名称作为键,而不是使用fetch_row()
提供的数字键。
答案 1 :(得分:0)
您可以将php json转换为javascript对象
obj = JSON.parse(json);
ES:
var json='{"ex1":"test","ex2":[{"sub1":"test"},{"sub2":""s2test}],"ex3":true}';
var obj = JSON.parse(json);
以后可以访问数据:
obj.ex1 // test
obj.ex2[0].sub2 //s2test