php - 我如何在 php 中使用 ajax 检索模式中的个人资料数据?

标签 php mysql ajax codeigniter modal-dialog

事情是这样的,我创建了一个搜索结果页面,我想打开一个模式并通过 php 中的 ajax 检索配置文件数据,但我不太确定如何实现它。我已经创建了模式,但我不知道如何通过单击搜索结果获取“id”,并将其传递到 ajax 以检索个人资料详细信息。

Twitter 有这样的功能;当您单击源中的用户名时,它会打开一个模式,并为您提供个人资料的简要概述以及完整个人资料的链接。

如果有人能帮助我或为我指明正确的方向,这对我来说意义重大! :)

附注我正在使用 codeigniter,如果有人想知道我正在使用什么框架。

编辑:这是代码

<?php
/*** PHP Search Results Loop ***/
if ($num > 0){
foreach ($query->result_array() as $row)
{
    echo "link to ajax"'>";
}
} else {
echo "<strong>results not found :(</strong>";
}?>


<script> /* jQuery Runs When Result Has Been Clicked */
    $('#ResultText').click(function() {

        var targetid = {
            id: /*Profile Id*/,
            ajax: '1'
        };

        /* Modal Code */
        $('.modal-backdrop, .modal-profilebox').css('display', 'block');
        $('.modal-backdrop').animate({'opacity':'.50'}, 100, 'linear');
        $('.modal-profilebox').animate({'opacity':'1.00'}, 200, 'linear');

        $.ajax({
            url: "<?php echo site_url('finder/modal'); ?>",
            type: 'POST',
            data: form_data,
            success: function(profileData) {
                $('.modal-profilebox').html(profileData);
            }
        });

        return false;
    });
</script>

最佳答案

尝试这样的事情

public function ajax_user_profile($user_id)
{
    if( !$this->input->is_ajax_request() )
    {
        redirect('/'); //only allow ajax requests
    }

    try
    {
        $user_profile = ''; //grab user object from DB

        if( !$user_profile )
            throw new Exception("Error Message");
    }
    catch(Exception $e)
    {
        log_message('error', $e->getMessage());
        echo json_encode(array(
            'error' =>  1
        ));
        exit;
    }

    $data = $this->load->view(array(
        'some_view' =>  'some_view',
        'user'      =>  $user_profile
    ), TRUE); //NO Template, just the view by adding TRUE

    echo json_encode(array(
        'error' =>  0,
        'data'  =>  $data
    )); //return view data

}

--

<a rel="modal" data-user-id="1" >Joe Bloggs</a>

--

(function($){

    var userObj = {

        init : function(){
            this.getProfile();
        },
        getProfile : function(){

            var modalSearch = $("a[rel='modal']");

            modalSearch.on('click', function(){

                //trigger the modal window

                //request ajax
                $.ajax({
                    url : BASEPATH + 'users/profile/' + $(this).data('user-id'),
                    type : 'POST',
                    dataType: 'json',
                    success : function(callback){
                        if(callback.error ==0)
                        {
                            $('.modal-profilebox').html(callback.data);
                        }
                    }
                });
            });

        }
    }

    $(function(){
        userObj.init()
    });
})(jQuery);

关于php - 我如何在 php 中使用 ajax 检索模式中的个人资料数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13464052/

相关文章:

php - 如何在同一 php 页面上发送 Jquery Ajax 数据?

php - 使用ajax json和php中的短语发送数据

php - 使用勾股定理在一定距离内找到点

php - 每 24 小时运行一次 php 任务

php - 内爆数组值

php - 按日期对部落 war 排序,不显示今天之前的内容

mysql - 从文本 MySql 中提取 OrderID

php - 可以在 mysql 中对 varchar 字段进行自定义排序吗?

javascript - 构建 js/ajax 网络应用程序 : separating structure and content in dynamic web form

javascript - 在特定时间间隔后调用 javascript 函数