2015-09-15 4 views
1

У меня возникли проблемы с автоматическим обновлением моего div, используя фреймворк кода. То, что я пытаюсь сделать в приведенном ниже коде, - это автоматическое обновление конкретного div id="lot_info" каждые 1 секунду.Авто освежающий div в Code Igniter

ДИВ не освежает, и я получаю сообщение об ошибке на консоли в Google Chrome, говоря: jquery.js:5 GET http://mywebsite/Home/display_lot_table 404 (Not Found)

Контроллер:

public function index() 
{ 
    $data['title'] = 'Test System'; 

    $view = 'view'; 

    $this->load->view('templates/normal_header', $data); 
    $this->load_lot_table($view); 
    $this->load->view('templates/legend_footer', $data); 
} 

public function load_lot_table($type) 
{ 
    $config = array(); 
    $config['base_url'] = base_url()."index.php/Home/index"; 
    $config['total_rows'] = $this->home_model->record_count(); 
    $config['per_page'] = 10; 
    $config['uri_segment'] = 3; 
    $config['next_link'] = 'Next'; 
    $config['prev_link'] = 'Previous'; 

    $this->pagination->initialize($config); 

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
    $results = $this->home_model->fetch_lots($config['per_page'], $page); 

    $data['disp_rows'] = $results; 
    $data['links'] = $this->pagination->create_links(); 

    if($type == 'view') 
    { 
     return $this->load->view('home/index', $data); 
    } 
    elseif($type == 'refresh') 
    { 
     return $this->load->view('home/index', $data, true); 
    } 
} 

public function display_lot_table() 
{ 
    $refresh = 'refresh'; 
    $this->load_lot_table($refresh); 
} 

Вид:

<script> 
$(document).ready(function() 
{ 
    refresh(); 
}); 

function refresh() 
{ 
    setTimeout(function() 
    { 
     $('#lot_info').load('<?php echo base_url();?>Home/display_lot_table'); 
     refresh(); 
    }, 1000); 
} 
</script> 

<div id="lot_info" class="container"> 
    <table class="table table-responsive table-condensed table-bordered dispo-table"> 
     <tr> 
      <th rowspan="2">AStatus</th> 
      <th rowspan="2">A</th> 
      <th rowspan="2">B</th> 
      <th rowspan="2">C</th> 
      <th rowspan="2">D</th> 
      <th rowspan="2">E</th> 
      <th rowspan="2">F</th> 
      <th colspan="3" scope"col">G</th> 
      <th rowspan="2">H</th> 
     </tr> 
     <tr> 
      <th>I</th> 
      <th>J</th> 
      <th>K</th> 
     </tr> 


     <?php foreach($disp_rows as $row):?> 
     <tr> 
      <td><?php echo $row->Astatus;?></td> 
      <td align="center"><?php echo $row->B;?></td> 
      <td align="center"><?php echo $row->C;?></td> 
      <td align="center"><?php echo $row->D;?></td> 
      <td align="center"><?php echo $row->E;?></td> 
      <td align="center"><?php echo $row->F;?></td> 
      <td align="center"><?php echo $row->G;?></td> 
      <td><?php echo $row->H;?></td> 
      <td align="center"><?php echo $row->I;?></td> 
      <td align="center">-</td> 
      <td align="center"><?php echo $row->J;?></td> 
     </tr> 
     <?php endforeach?> 
    </table> 
</div> 

ответ

2

Вы получили ошибку:

jq uery.js: 5 GET http://mywebsite/Home/display_lot_table 404 (не найдено)

Похоже, что неправильный URL-адрес пути. Посмотрите внимательно, это правильно? потому что я вижу, что вы определили в методе контроллера с кодом, например $config['base_url'] = base_url()."index.php/Home/index";. Полностью отличается код, определенный в jquery load, как $('#lot_info').load('<?php echo base_url();?>Home/display_lot_table');. Так почему бы не добавлять index.php как ниже код:

$('#lot_info').load('<?php echo base_url();?>index.php/Home/display_lot_table'); 

Вы можете удалить эти index.php из URL в любом случае.

+0

О, да ... это была моя ошибка. Как удалить index.php? – hzq

+0

Прочтите это http://www.codeigniter.com/userguide3/general/urls.html. –

Смежные вопросы