JS(ajax)数组-带有HTML的输出和样式


JS (ajax) array - output and style with HTML

有人能帮助我了解如何使用传递给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 的非常好的教程