PHP 脚本从 MySQL 数据库获取数据,并使用 JSON 将数组返回给 javascript。我可以获得结果,但无法让他们单独打印出来。
PHP 代码 -
header('Content-type:application/json');
$link = @new mysqli(_HOST, _USER, _PASS, _DB); //constants
if(mysqli_connect_errno())
{
//failure
}
else
{
//success
$sqlQuery = "SELECT COL1, COL2 FROM TABLE"; //the query should return two
//columns from every selected row
$mix = array(); //array to return using JSON
$result = $link->query($sqlQuery);
if ($result->num_rows <= 0)
{
//no data
}
else
{
while ($row = $result->fetch_assoc()) //fetch loop
{
$mix["C1"][] = $row['COL1'];
$mix["C2"][] = $row['COL2'];
}
}
$result->free();
// Close connection
$link->close();
}
打印 json_encode($mix);//由于某种原因,这一行不会出现在之前的代码格式化 block 中。
Javascript/jQuery 代码 -
$.ajax({ // ajax call
url: 'serv.php', // server page
data: 'fetch=1', //ignore any data
dataType: 'json', // server return type
success: function(data) // on success
{
for (var i in data) {
$('#someDiv').append( i + " = " + data[i] + '<br>');
}
}
});
输出,正如预期的那样 -
C1 = 1,2
C2 = A,B
我想要完成的是将这些数据(1,2,A,B
)放入表单表格元素中。为此,我需要单独选择 C1 或 C2 的每个元素。
我怎样才能做到这一点?
最佳答案
我自己找到了解决方案。
以下 ajax 调用有效 -
$.ajax({ // ajax call
url: 'serv.php', // server page
data: 'fetch=1', //ignore any data
dataType: 'json', // server return type
success: function(data) // on success
{
for (var i in data["C1"]) {
$('#someDiv').append( i + " = " + data["C1"][i] + '<br>');
}
for (var i in data["C2"]) {
$('#someDiv').append( i + " = " + data["C2"][i] + '<br>');
}
}
});
我没有尝试访问数据,而是尝试访问数据内部的索引。就这么简单。
关于php - 在 Javascript 中打印特定的 JSON 数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16981250/