我是动态数据新手并试图
据我所知,1)和2)工作正常,3)似乎有点工作,4)是它破坏的地方。
我已经设置了数据库和表格,查询&如此回应数据(api.php)
<?php
include 'db.php';
$con = new mysqli($host,$user,$pass,$databaseName);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM $tableName";
$myArray = array();
if ($result = $con->query($query)) {
$tempArray = array();
while($row = $result->fetch_object()) {
$tempArray = $row;
array_push($myArray, $tempArray);
}
echo json_encode($myArray);
}
$result->close();
$con->close();
?>
现在我通过javascript ...
了解它jQuery(function($) {
$.ajax({
url: 'php/api.php',
data: "json",
dataType: "",
success: function(data) {
var r = new Array(), j = -1;
for (var key=0, size=data.length; key<size; key++){
r[++j] ="<tr><td>";
r[++j] = data[key][0];
r[++j] = "</td><td>";
r[++j] = data[key][1];
r[++j] = "</td><td>";
r[++j] = data[key][2];
r[++j] = "</td></tr>";
}
var joined = r.join('');
console.log(joined);
$('#maintable tbody').html(joined);
}
});
});
...并把它扔进我桌子的tbody元素。
结果绝对不符合我的预期:
请参阅http://i.imgur.com/hRNrmdC.jpg(对部分德语界面感到抱歉)
GET请求的答案是有效的JSON,至少在理论上(由http://jsonlint.com/检查),但对我来说,似乎数据被视为字符串并分成一组字符(每个字符串a数据[]中的“key”,因此“data [key] [1]不返回任何内容。
var json = JSON.stringify(eval("(" + data + ")"));
继续json [key] [0]没有帮助...
现在我想知道为什么,特别是出了什么问题以及如何修复。
答案 0 :(得分:4)
你混淆了ajax调用中的键:
data: "json",
dataType: "",
应该是:
dataType: "json",
因为您根本没有发送或使用任何数据。