Codeigniter返回带有null变量的视图

时间:2015-07-20 09:23:01

标签: php jquery codeigniter post

当我从其他表单发布数据时,当我在print($ id)中测试它时,它可以工作,但是当我在视图中传递它时,当视图加载时,它返回为null。

这是我的代码:

Jquery帖子

function viewAccount(orId)
{
    account_id=orId;

    // alert(account_id);

    var postData={
        "id":account_id
    };

    $.post(base_url+"admin/viewAccount", postData).done(function(data){
        inlcudeViews('admin/viewAccount');
    });
}

控制器:

function viewAccount()
{
    $id = $this->input->post('id');

    $data =  array('id' => $id);

    // print_r($data); IT WORKS TILL HERE
    $this->load->view('admin/viewAccount', $data);

}

查看:

// HERE IS WHERE I GET A NULL VARIABLE
var data='<?= $id ?>';
$(document).ready(function() {
    alert(data);
});

5 个答案:

答案 0 :(得分:2)

而不是在alert视图中使用viewAccount,您需要printecho $id喜欢,

<?php
   echo isset($id) ? $id : '';
?>

另外,请确认您已在php.ini中启用了PHP短标记。如果您使用的是<?= $id ?>

答案 1 :(得分:2)

你的Jquery和View是完美的。但是在Controller中你必须写

$this->load->view('admin/viewAccount', $data[0]);

而不是

$this->load->view('admin/viewAccount', $data);

或者您可以写

function viewAccount()
{
    $id = $this->input->post('id');
    $data['id'] =$id;
    // print_r($data); IT WORKS TILL HERE
    $this->load->view('admin/viewAccount', $data);
}

答案 2 :(得分:1)

您需要将id传递给data array,如下所示

<强>控制器

$id = $this->input->post('id');
$data['id']=$id;
//print_r($data); IT WORKS TILL HERE
$this->load->view('admin/viewAccount', $data);

答案 3 :(得分:0)

你的javascript中没有回显$ id,这应该像echo $id

在这里更新:

// HERE IS WHERE I GET A NULL VARIABLE
var data='<?php echo $id; ?>';
    $(document).ready(function() {
        alert(data);
    });

答案 4 :(得分:0)

感谢快速回复,没有上述答案的工作。 我设法找到了一个解决方案,但它完全不同的方法我只是将id作为全局变量。 但我仍然对这个答案感兴趣,我认为它会帮助其他人