从MySQL数据库获得jQuery Ajax请求我知道如何以HTML元素格式呈现数据,如表格或列表,如下所示:
$.ajax({
type:"POST",
url:"appdata.php",
success: function (newdata) {
$('#result').html(newdata);
}
});
PHP as:
$mysqli = new mysqli('localhost', 'root', '******', '********');
$resultStr = '';
$query = 'SELECT * FROM appusers';
if ($result = $mysqli->query($query)) {
if ($result->num_rows > 0) {
$resultStr.='<ul>';
while($row = $result->fetch_assoc()){
$resultStr.= '<li>'.$row['fname'].' - '.$row['lname'].' - '.$row['phone'].'</li>';
}
$resultStr.= '</ul>';
}
else {
$resultStr = 'Nothing Found';
}
}
echo $resultStr;
?>
另一个选项也是使用json_encode()
将结果作为JSON传递,如下所示
$mysqli = new mysqli('localhost', 'root', '******', '********');
$query = 'SELECT * FROM appusers';
$result = $mysqli->query($query)->fetch_array();
echo json_encode($result);
现在我对如何在Ajax调用中使用此json_encode($result)
感到困惑?
例如,如果我想要渲染像
<div id"fname"></div>
<div id"lname"></div>
<div id"phone"></div>
我如何在ajax成功属性中解析这个?并关联相关div上的每个字段? 谢谢你的帮助。
更新
var varfname;
var varlname;
var varphone;
$(#fname).html(varfname);
$(#lname).html(varlname);
$(#phone).html(varphone);
答案 0 :(得分:0)
我认为这可能会对您有所帮助,但根据您的要求,您必须更改newdata
变量值。
这仍然需要根据您的要求进行一些编辑。
$.ajax({
type:"POST",
url:"appdata.php",
success: function (data) {
var newdata='';
$.each(data, function(item,value)
{
newdata+='<div id="'+item+'">'+value+'</div>';
});
$('#result').html(newdata);
}
});