Laravel 5.3:使用Ajax更新数据时自动刷新div

时间:2018-08-15 07:35:35

标签: javascript php ajax

我每秒钟用ajax编写一次自动刷新div的代码,但是我希望自动刷新div,即使数据不是每秒更改一次。有什么更好的方法?

JavaScript

<script>
  setInterval(function(){
   $('#datapinjam').load('/datarealtime');
 }, 30000)
</script>

刀片代码

<div class="table-responsive mt-3">
  <table id="basic-datatable" class="table dt-responsive nowrap">
      <thead>
          <tr>
            <th>ID</th>
            <th>Inventaris</th>
            <th>No Handphone</th>
            <th>Mulai</th>
            <th>Selesai</th>
            <th>Tanggal</th>
            <th>Keperluan</th>
            <th>Status</th>
            <th>Action</th>
          </tr>
      </thead>
      <tbody>
          <tr>
            @foreach ($peminjaman as $value)

             ....

          @endforeach
      </tbody>


  </table>

</div>

控制器代码

public function realtime()
{
  $data['peminjaman'] = DB::table('data_peminjaman')
                        ->join('inventaris', 'data_peminjaman.id_invetaris', '=', 'inventaris.id')
                        ->orderBy('data_peminjaman.iid','desc')
                        ->paginate(10);
  return view('admin.realtime',$data);                      
}

1 个答案:

答案 0 :(得分:1)

您应该在控制器let A中创建一个函数,并在客户端脚本let B中创建一个函数。 B将在一定间隔后探测A。如果数据发生更改,A将返回True,否则返回FalseB在遇到True中的A时会调用客户端负责刷新包含Ajax调用的div的函数。