我加载了一个视图,我想通过ajax JSON请求从数据库中显示获取记录。但是它没有显示记录。
这是我的观看代码
<div class="col-md-6" id="hodm_table">
<table class="table table-striped table-hover table-responsive">
<thead>
<tr>
<th>Task Name</th>
<th>Director</th>
<th>Duration</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php foreach($result as $hodm) { ?>
<tr>
<td><?php echo $hodm->t_name;?></td>
<td><?php echo $hodm->director;?></td>
<td><?php echo $hodm->duration;?></td>
<td><?php echo $hodm->status;?></td>
<?php } ?>
</tbody>
</table>
</div>
</div>
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$.ajax({
url:"<?php echo base_url();?>digital/dashboard/dig_short_hodm_table",
type: 'POST',
dataType: 'JSON',
success:function (data) {
$('#hodm_table').html(data);
}
});
event.preventDefault();
});
</script>
这是我的模特
public function get_hodm()
{
return $this->db->get("hodm");
}
这是我的控制器
public function dig_short_hodm_table(){
$data['result']=$this->pojo->get_hodm();
return json_encode($data);
}
当我加载页面时,它显示错误
Message: Undefined variable: result
我想在查看加载时从数据库中获取记录并显示在视图表中。
答案 0 :(得分:5)
更新您的型号:
public function get_hodm(){
return $this->db->get("hodm")->result();
}
你的控制器:
public function dig_short_hodm_table(){
$result_html = '';
$result_set = $this->pojo->get_hodm();
foreach($result_set as $result) {
$result_html .= '
<tr>
<td>' . $result->t_name . '</td>
<td>' . $result->director . '</td>
<td>' . $result->duration . '</td>
<td>' . $result->status . '</td>
</tr>';
}
echo json_encode($result_html);
}
最后你的观点:
<div class="col-md-6" id="hodm_table">
<table class="table table-striped table-hover table-responsive">
<thead>
<tr>
<th>Task Name</th>
<th>Director</th>
<th>Duration</th>
<th>Status</th>
</tr>
</thead>
<tbody id="hodm_results">
</tbody>
</table>
</div>
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$.ajax({
url:"<?php echo base_url();?>digital/dashboard/dig_short_hodm_table",
type: 'POST',
dataType: 'JSON',
success:function (data) {
$('#hodm_results').html(data);
}
});
event.preventDefault();
});
</script>
答案 1 :(得分:0)
你必须这样改变
public function get_hodm()
{
return $this->db->get("hodm")->result();
}
答案 2 :(得分:0)
我有更新模型视图和控制器:
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$.ajax({
url:"<?php echo base_url();?>digital/dashboard/dig_short_hodm_table",
type: 'POST',
dataType: 'JSON',
success:function (data) {
var result = data.result;'
var row = "";
for(i=0; i < result.length; i++) {
row += "<tr>";
row += "<td>"+result[i].t_name+"</td>";
row += "<td>"+result[i].director+"</td>";
row += "<td>"+result[i].duration+"</td>";
row += "<td>"+result[i].status+"</td>";
row += "</tr>";
}
$('#hodm_table > tbody').html(row);
}
});
event.preventDefault();
});
</script>
这是我的模特
public function get_hodm()
{
$query = $this->db->get("hodm");
return $query->result_array();
}
这是我的控制器
public function dig_short_hodm_table(){
$data['result']=$this->pojo->get_hodm();
echo json_encode($data);
}
答案 3 :(得分:0)
尝试通过更改标题内容
在此类控制器中返回public function dig_short_hodm_table(){
header('Content-Type: application/x-json; charset=utf-8');
$data['result']=$this->pojo->get_hodm();
echo(json_encode($data));
}
答案 4 :(得分:0)
改变你的模型如下
public function get_hodm()
{
$query = $this->db->get("hodm");
return $query -> result();
}