任何人都可以帮我理解如何使用数组 - 传递给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) { ? }
谢谢:)
答案 0 :(得分:3)
John,你对PHP和javascript的运作方式感到困惑。 PHP是一种服务器端脚本语言,而javascript是客户端。
他们永远不会看到对方的数据。将数据从PHP传递到javascript的唯一方法是将其作为字符串打印或将其作为JSON编码数据发送(仍然打印到页面上)。
如果您希望onSuccess看到$query
数组,则必须通过调用json_encode($query)
来输出JSON编码的数据
<?php
// backgroundScript.php
echo json_encode($query);
然后你可以用javascript作为JSON数据解析它。
答案 1 :(得分:3)
$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);
}