本文介绍了如何以列格式单独显示AJAX响应值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用AJAX从PHP仅获得3个用户值,并且该值我必须以列格式显示.我尝试了下面的代码,但未显示.我得到的输出就像所有名字都垂直显示,然后垂直显示姓氏一样.
I am getting only 3 users value from PHP using AJAX and that value I have to display in column format. I have tried below code but It is not displaying.I am getting output like all the first name is displaying vertically then after displaying the last name vertically.
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();
推荐答案
在响应中仅使用JSON.parse();
即可解决此问题
Just use JSON.parse();
in your response to resolve this issue
$(document).ready(function(){
$('#search-button').click(function(){
$.ajax( {
type: 'POST',
url: 'includes/process.php',
data: $('#search-form').serialize(),
dataType: 'json',
success: function(response) {
response = JSON.parse(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();
}
});
});
});
<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>
$compare_records = array();
$compare_query=$conn->query($sql_compare);
if ($compare_query->num_rows > 0) {
$outp = array();
$outp = $compare_query->fetch_all(MYSQLI_ASSOC);
echo json_encode($outp);
}
exit();
这篇关于如何以列格式单独显示AJAX响应值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!