ajax を含むページを含む codeigniter アプリを作成しました。私は ajax ページが実際に機能していることを自分自身に証明しようとしています。つまり、私のページの 1 つのセクションだけが更新され、残りはそのままです。
コントローラーのコードは次のとおりです。
public function index()
{
$this->load->model('locations_model');
$data['clienthistory'] = $this->locations_model->get_locations();
$data['main_content'] = 'dashboard';
$this->load->view('includes/template', $data);
}
public function index2()
{
$this->load->model('locations_model');
$data['clienthistory'] = $this->locations_model->get_locations();
return json_encode($data['clienthistory']);
}
そして、ここに私の見解があります:
<h2>timer test</h2>
<?php echo now();?>
<h2>Latest Client Status</h2>
<?php echo form_open('Dashboard/index');
echo form_submit('submit', 'Refresh Client Data', 'id="clientsubmit" class="btn-primary"');
?>
<div class="row-fluid">
<div class="span12" id="ajaxcontainer">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>IP</th>
<th>Name</th>
<th>Last Updated</th>
</tr>
</thead>
<tbody>
<?php foreach ($clienthistory as $histitem): ?>
<tr>
<td><?php echo $histitem['network'] ?></td>
<td><?php echo $histitem['name'] ?></td>
<td><?php echo $histitem['lastupdated'] ?></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
<?php echo form_close(); ?>
<script type="text/javascript">
$('#clientsubmit').click(function() {
$.ajax({
url:"<?php echo site_url('Dashboard/index2'); ?>",
type: 'POST',
dataType: 'html'
success: function(returnDataFromController) {
$('#ajaxcontainer').html(returnDataFromController)
}
});
return false;
});
</script>
アイデアは、ページの現在の時刻を、私の ajax 呼び出しによって更新されないはずの領域に表示することです。しかし、更新ボタンをクリックすると、テーブル データが更新されるだけでなく、時刻も更新されます。なぜこれが起こっているのか理解できません。任意の助けをいただければ幸いです。codeigniter と ajax の初心者です。ありがとう。