【发布时间】:2017-08-30 20:25:13
【问题描述】:
我使用 AJAX 从 PHP 中仅获得 3 个用户值,并且我必须以列格式显示该值。我试过下面的代码,但它没有显示。 我得到的输出就像所有名字都垂直显示,然后在垂直显示姓氏之后。
AJAX
$(document).ready(function(){
$('#search-button').click(function(){
$.ajax( {
type: 'POST',
url: 'includes/process.php',
data: $('#search-form').serialize(),
dataType: 'json',
success: function(response) {
for(data in response)
{
$('#response_profile_pic').append("<img src='images/profile/" + response[data].profile_pic + "' alt='' />");
$('#response_fName').append("<li>" + response[data].fName +"</li>");
$('#response_lName').append("<li>" + response[data].lName + "</li>");
}
$('#open_compare_popup').show();
}
});
});
});
PHP
<div class="box-set">
<ul class="point_compare">
<span id="response_profile_pic"></span>
<label>First Name</label><h2 id="response_fName"></h2>
<label>Last Name</label><span id="response_lName"></span>
</ul>
</div>
Process.php
$_SESSION['compare_user']=$_POST['compare_id'];//coming from html
$sql_compare='SELECT * FROM request WHERE Id IN (' .( is_array( $_SESSION['compare_user'] ) ? implode( ',', $_SESSION['compare_user'] ) : $_SESSION['compare_user'] ).')';
//echo $sql_compare;
//die();
$compare_records = array();
$compare_query=$conn->query($sql_compare);
if ($compare_query->num_rows > 0) {
while($userdata12=$compare_query->fetch_assoc()){
$compare_records[]=$userdata12;
//echo $compare_pic;
}
}
echo json_encode($compare_records);exit();
【问题讨论】:
-
响应返回的是数组还是对象?它返回一个数组,是吗?您是否尝试访问在
response.data中找到的数组? -
是的,它返回对象。我只想根据上传数组计数每次重复 div
-
我的解决方案应该会有所帮助,但我不确定
response的确切结构 - 如果您提供,我可以确认/修改我的代码以使其正常工作。