有人能帮助我了解如何使用传递给ajax的数组以html格式输出和设置数据库信息的样式吗?
PHP示例:
例如:我有一个名为$query的数组。
while ($row=mysql_fetch_array($query)) {
echo '<div>'.$row["name"].'</div>';
echo '<div>'.$row["surname"].'</div>';
echo '<div>'.$row["address"].'</div>';
}
JQuery:
如果我将相同的$query数组传递给ajax(javascript)会怎样?如何以与php类似的方式输出它?例如:将每个姓名、姓氏和地址打印在单独的div中。
...success: function(data) { ? }
感谢:)
$rows = array();
while ($row=mysql_fetch_array($query)) {
$rows[] = $row;
}
print json_encode($rows);
__
...success: function(data) {
var result = "";
$.each(data, function(i,e) {
result += '<div>'+e+'</div>'; //or e.name etc. depending on the structure?
});
$("#elementID").append(result);
}
John,您混淆了PHP和javascript的工作方式。PHP是一种服务器端脚本语言,而javascript是客户端脚本语言。
他们永远不会看到对方的数据。将数据从PHP传递到javascript的唯一方法是将其打印为字符串或将其发送为JSON编码的数据(仍打印到页面上)。
如果你想让onSuccess看到$query
数组,你必须通过调用json_encode($query)
来输出JSON编码的数据
<?php
// backgroundScript.php
echo json_encode($query);
然后您可以用javascript将其解析为JSON数据。
这里有一个关于JSON 的非常好的教程