当我从其他表单发布数据时,当我在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);
});
答案 0 :(得分:2)
而不是在alert
视图中使用viewAccount
,您需要print
或echo
$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作为全局变量。 但我仍然对这个答案感兴趣,我认为它会帮助其他人