如何使用ajax访问返回的php变量,作为视图中的php变量

时间:2013-08-20 12:06:28

标签: php javascript jquery ajax codeigniter

我处于这种情况,

//视图

 $.ajax({type: 'POST',
    url: base_url+"home/display_info/"+patient_id,
    async: false,
    success: function(data){
            //alert(data);// alert was working
            }
    });

//控制器

function display_info($id)
    {
        $document= $this->document_model->getDocumentOfPatient($id);
        print_r($document);
    }

在这里,我从控制器获取数据作为一个数组,我想获取数据到一个PHP数组变量,以构建一个表(html)与该数组,但卡在这里,是否有任何方法来设置一个带有这个返回数据变量的表(html),我可以在视图中像这样访问变量<?php echo $document['document_id'];?>

4 个答案:

答案 0 :(得分:2)

试试这个

首先,在视图页面中创建表格。表id名称为foo,用于创建表行和append到html表

示例代码如下所示

    <scrit type="text/javascript">
     $.ajax({type: 'POST',
        url: base_url+"home/display_info/"+patient_id,
        async: false,
        success: function(data){
              var table = '<tr><td>' + data['patient_id'] + '</td><td>' + data['document_id'] + '</td><td>' + data['document_date'] + '</td><td>'+ data['insert_user_id']+  '</td></tr>';

        $('#poo > tbody').append(table);
                }
        });


    </script>
    <table id="poo" style="margin:10px 0px 0px 0px;" width="100%" border="0" cellpadding="0" cellspacing="0">
        <thead>
            <tr>
                <td><strong>Product id</strong></td>
                <td><strong>Doc id</strong></td>
                <td><strong>Date</strong></td>
                <td><strong>userid</strong></td>
            </tr>
        </thead>
<tbody>
</tbody>   
    </table>

答案 1 :(得分:1)

PHP是一种服务器端语言。如果要在视图中使用PHP数据,则需要将其转换为Javascript等客户端语言。 例如,在display_info控制器中,您可以使用PHP的json_encode返回一些JSON,以便为您的视图转换由有用数据组成的PHP数组。使用application/json内容类型标题输出它。

答案 2 :(得分:0)

在这种情况下,我曾经在控制器本身制作表并将其分配给变量。 因此,您可以在View中将该表作为AJAX响应获取。然后它很简单地分配响应 需要显示的资源ID的内部HTML。

答案 3 :(得分:0)

数据是否正确?

var obj = jQuery.parseJSON(data);

以形式使用JSON。我希望正确理解