0
我有一個索引頁,我使用分頁列出了一些醫院。Laravel在javascript中的分頁對象
我也有一個搜索欄,我可以寫一個醫院的名稱和列表應該「實時」更新與AJAX請求。
我的問題是,我無法通過javascript重新使用laravel分頁對象來創建分頁。我不想通過純JavaScript/jQuery來管理它。目前,我正在創建返回的所有對象的列表。但是,如果沒有分頁(所以列表可以是巨大的)
所以在我的控制器我有這個功能
public function index()
{
$hospitals = Hospital::orderBy('name')->paginate(15);
return view('admin.hospitals.show', compact('hospitals'));
}
在我看來(/admin/hospitals/show.blade.php
),我用它來創建一個分頁(我想在Ajax響應再使用此)
<ul>
@foreach($tasks as $task)
<li>{{ $task->name }}</li>
@endforeach
</ul>
{{ $tasks->links() }}
這給我的這個結果
當在搜索欄中鍵入,這AJAX被稱爲
$.ajax({
type: "GET",
url: '/admin/hospitals/search/'+ $('#hospital_search').val().trim(),
success: function (data)
{
if (data.hospital.length == 0)
{
$('#hospital_result').html('<div class="alert alert-warning">No hospitals found</div>');
}
else
{
//Actual code that give me the listing without pagination
//Would be nice if I could do something like {{ data.hospital->links() }}
var html = '<ul>';
$.each(data.hospital , function(i , hospital){
html += '<li><a href="/admin/hospitals/'+ hospital.id +'"><b>' + hospital.name + '</b></a></li>';});
html += '</ul>';
$('#hospital_result').html(html);
}
},
error: function (data)
{
alert('Error:', data);
}
});
而且我search
功能
public function search($term = null)
{
if(!$term)
{
$hospital = Hospital::orderBy('name')->get();
}
else
{
//Get match on name
$hospital = Hospital::where('name' , 'LIKE' , '%'.$term.'%')
->orderBy('name')
->get(); //Should be replaced by ->paginate(15) when JS will be replaced
}
//Return as JSON
return response()->json(['success' => true, 'hospital' => $hospital]);
}
如何將data
對象上使用->links()
在Ajax響應? 或者我應該改變我的邏輯並在ajax請求後加載特定視圖?
傳遞'$醫院 - >鏈接()'的JavaScript,我沒工作。創建列表視圖並將呈現的視圖傳遞給js是解決方案,謝謝! – Raccoon