0

谁能帮我理解我如何使用数组 - 传递给 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>';

}

查询:

如果我将相同的 $query 数组传递给 ajax (javascript) 会怎样?如何以与 php 类似的方式输出它?例如:在单独的 div 中打印每个姓名、姓氏和地址。

...success: function(data) { ? }

谢谢 :)

4

2 回答 2

3

约翰,您对 PHP 和 javascript 的工作方式感到困惑。PHP 是一种服务器端脚本语言,而 javascript 是客户端。

他们永远不会看到彼此的数据。将数据从 PHP 传递到 javascript 的唯一方法是将其打印为字符串或作为 JSON 编码的数据发送(仍然打印到页面上)。

如果你想让你的 onSuccess 看到$query数组,你必须通过调用输出 JSON 编码的数据json_encode($query)

<?php
// backgroundScript.php
echo json_encode($query);

然后您可以在 javascript 中将其解析为 JSON 数据。

这是一个关于 JSON 的非常好的教程

于 2012-08-01T13:02:06.427 回答
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);
}
于 2012-08-01T13:02:11.267 回答