2017-07-26 111 views
0

我真的很新推出Laravel Blades中的Ajax。我一直在尋找教程等,但它很混亂。我希望你能耐心等待我Laravel Blade中的Ajax

所以我有一個刀片,我想應用Ajax,因此它可能會每秒刷新一次。

我想知道在整個頁面上應用Ajax是否可取。

如果沒有,這裏是我要使用Ajax的刀片部分(它在forelse中);

<div class="row"> 
     @forelse($receipt_ids as $receipt_id) 
      <div class="col-md-4"> 
       <div class="panel panel-default"> 
        <div class="panel-heading text-center"> 
         {{$receipt_id->receipt_id}} 
        </div> 

        <div class="panel-body"> 
         <table class="table table-bordered table-responsive"> 
          <thead> 
           <th>Name</th> 
           <th>Quantity</th> 
          </thead> 

          <tbody> 
          @foreach($orders as $order) 
           @if($receipt_id->receipt_id == $order->receipt_id) 
            <tr> 
             <td>{{$order->item}}</td> 
             <td>{{$order->qty}}</td> 
            </tr> 
           @endif 
          @endforeach 
          </tbody> 
         </table> 
        </div> 

        <div class="panel-footer clearfix"> 
         <button type="submit" class="btn btn-success pull-right" style="margin-right: 10px;"> 
          <i class="fa fa-check-circle" aria-hidden="true"></i> Served 
         </button> 
        </div> 
       </div> 
      </div> 
     @empty 

     @endforelse 
    </div> 

我有一種感覺,阿賈克斯將與時間變化或東西。

編輯:我現在有一個領導。我用了;

<script type="text/javascript"> 
$(document).ready(function() { 
    setInterval(function() 
    { 
     alert('test'); 
    }, 2000) 
}); 
</script> 

現在我的問題是我可以做什麼語法來刷新頁面?

回答

0

你的問題有更多與JavaScript有關的事情比它使用刀片語法或Laravel。

Laravel使用刀片服務器將您的服務器數據(您的案例中的收據清單)轉換爲發送給瀏覽器的HTML。從那裏,AJAX(從瀏覽器與服務器進行通信)通過使用Javascript的客戶端完成。

使用Laravel執行此操作的當前官方方式是使用Vue.js來實現某些操作,但如果您還沒有,那麼我建議您只使用jQuery

要調用的東西每一秒在Javascript中你可以使用:

setInterval(function() { 
    ... 
}, 1000); 

在函數內部可以使用jQuery的$.get檢索結果並替換列表中的內容。最簡單的方法就是調用一個只返回上面呈現的HTML的動作。

我希望這會讓你在路上。

+0

謝謝!或多或少我現在領先,哈哈。我嘗試使用該功能,並提出警告來測試它。現在我將嘗試使用'$ .get'。我編輯了我的主帖,我的JavaScript正在工作。 –