如何以列格式单独显示AJAX响应值? [英] How to display AJAX response value in column format individual?

查看:89
本文介绍了如何以列格式单独显示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响应值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆