2016-08-31 7 views
0

私は更新データベースをフェッチできる場所からテーブルIDをリフレッシュ/リフレッシュしたいのですが、問題はページ全体をリロードするだけのテーブルをリフレッシュする代わりです。しかし、私はここで 'id'をキャッチしています。誰かがAjaxの問題の何かをうまくいけば。私はここにlaravelを使用していAjaxを使用して特定の時間後に 'ID'を再ロード/リフレッシュする方法はありますか?

..それを見つけるために私を助けることを願っています:

はここに私のビューの一部である:ここ

<table class="table table-striped table-bordered dataTable" id="example"> 
<thead> 
    <tr> 
     <td>Serial No</td> 
     <td>Title</td> 
     <td>Description</td>      
     <td>Action</td> 
    </tr> 
</thead> 
<tbody> 
    <?php $i=1; ?> 
    @foreach($items as $row) 
    <tr> 
     <td>{{$i}}</td> 
     <td class="title" data-id1="{{$row->id}}" contenteditable>{{$row->title}}</td> 
     <td class="description" data-id2="{{$row->id}}" contenteditable>{{$row->description}}</td> 
     <td>  
      <button type="button" onclick="deleteItem({{ $row->id }})" class="btn btn-danger">Delete</button> 
     </td> 
    </tr> 
    <?php $i++; ?> 
    @endforeach 
</tbody> 
</table> 

は、Ajaxの一部ではJavaScriptです:

<script> 
function autoRefresh_div() 
{ 
    $("#example").load(ajax());// a function which will load data from other file after x seconds 
} 
function ajax(){ 
    $.ajax({ 
     url:"{{url('listA')}}", 
     method:"get",              
     success: function(result) { 
      location.reload(); 
     } 
    }); 
} 
setInterval('autoRefresh_div()', 2000); // refresh div after 5 secs 
</script> 

ここにルート部があります:

Route::get('listA',function(Request $request){ 
    $items=\App\Item::all(); 
    return Response::json($items); 
}); 
+0

あなたの実際のコードで自分のID "例" となっていますか?コード内でIDを "example"に変更すると間違っていますか? –

+0

'

' – User57

+1

'location.reload();によってページ全体がリフレッシュされています – Pugazh

答えて

2

ここでは、あなたが成功するか、前にこれを望むかどうかは、あなたに依存します。

setInterval(function() 
{ 
    $('#YOUR DIV').load(document.URL + ' #YOUR DIV'); 
}, 30000); 
+0

これは本当ですか? 'load(document.URL + '#YOUR DIV'); ' – User57

+0

はい、確信しています。親切に自分で試してみてください。そのdivをリロードします。 – Noman

+0

ここであなたの解決策の問題はあなたが間違って表現しているということです。 '$("#example ")load(" list #example ");' は '' + '' sign – User57

0

location.reload();のため、全ページがリフレッシュされています。以下のコードを試してください。

function autoRefresh_div() { 
 
    $.ajax({ 
 
    url: "{{url('listA')}}", 
 
    method: "get", 
 
    success: function(result) { 
 
     $("#example").html(result); 
 
    } 
 
    }); 
 
} 
 

 
setInterval(autoRefresh_div(), 5000); // refresh div after 5 secs

+0

私はコードを使用しましたが、テーブル全体がリフレッシュされる間に – User57

+1

JSONを返すように見えます。その場合は、テーブルを再構築する必要があります。一部の部分HTMLを返す方が簡単かもしれません。 –

関連する問題