我在View
加载Controller
时遇到问题。我不知道为什么,但我认为我的代码是正确的。
首先,我有View
到AJAX
的第一个POST the text of input field
。
<div class="alert alert-success">
New JONumber for <b><span id="new_project_name"></span></b> is <b><span id="new_jo"> </span></b>.
</div>
$("#view").click(function()
{
$.ajax({
url : '<?php echo base_url('generator/view_generate')?>',
type: 'POST',
data: {
name: $('#name').text()
},
success: function(){
}
});
});
然后它会将数据传递给Controller
。
public function __construct()
{
parent::__construct();
$this->load->model('generator_models');
}
public function view_generate()
{
$name = $this->input->post('name');
$view_generated = $this->generator_models->view_generate($name);
$this->view_name($view_generated);
}
public function view_name($view_generated)
{
$this->load->view('templates/header');
$this->load->view('name_views', $view_generated);
$this->load->view('templates/footer');
}
这是我的Model
:
function view_generate($name)
{
$this->db->select('*');
$this->db->from('user');
$this->db->where('name', $name);
$query = $this->db->get();
return $query->row();
}
这是我的第二个View
。这是不同的View
文件:
<form class="form-horizontal" id="search-form" role="form" method="post">
<?php
$view_name = $name;
$view_id = $id;
?>
<div class="form-group">
<label for="name" class="col-sm-2 control-label emp">Name</label>
<div class="col-sm-10">
<input type="text" class="typeahead form-control" id="name" placeholder="Name" name="name" autocomplete="off" value="<?php echo $view_jo_number; ?>"/>
</div>
</div>
<div class="form-group">
<label for="id" class="col-sm-2 control-label emp">ID</label>
<div class="col-sm-10">
<input type="text" class="typeahead form-control" id="id" placeholder="ID" name="id" autocomplete="off" value="<?php echo $view_project_name; ?>"/>
</div>
</div>
</form>
从模型中收集数据后,它将继续执行函数($this->view_name($view_generated);
)以调用View
。
实际上,当我在Firefox中检查元素 - &gt; html但在浏览器页面中它不会进入View
页面时它会起作用。
我不知道AJAX是否有问题,我应该拨打controller in success
还是我的代码确实有问题?
答案 0 :(得分:0)
我不确定你问的是什么但如果你想通过javascript加载视图,你就是这样做的:contents是将用数据填充的DIV的ID(在你的你的观点)。
$("#view").click(function()
var name = $('#name').text();
$("#contents").load('<?php echo base_url('generator/view_generate/')?>'+name,
function() {
//console.log('success');
});