JS(ajax)数组 - 使用HTML输出和样式

时间:2012-08-01 12:57:06

标签: php javascript jquery

任何人都可以帮我理解如何使用数组 - 传递给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) { ? }

谢谢:)

2 个答案:

答案 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数据解析它。

Here's a pretty good tutorial on 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);
}