我使用laravel從數據庫(100mil ++數據)中獲取大量的數據,但它給我錯誤是超時,因爲加載數據太長,我想通過調用控制器來逐漸使用AJAX在Laravel視圖中追加數據,然後控制器使用含有LIMIT的查詢獲取數據,因此視圖將根據有限的數據逐步顯示數據,因此它不會超時顯示大量的數據從數據庫逐漸使用AJAX - LARAVEL
控制器:
public function index(){
return view('users.index',compact('users'));
}
public function loadAjax(){
// print_r('expression');
$counter = Input::get('counter');
$users = User::take(1)->skip($counter)->get();
return json_encode($users);
}
jQuery和AJAX:
條<script>
var ctr = 0;
window.onload = function() {
getData();
};
window.setInterval(function() {
ctr++; //increase the data offset
getData();
}, 1000);
function getData() {
jQuery(document).ready(function() {
jQuery.ajax({
url: "users/ajax",
type: 'GET',
data: {counter : ctr},
dataType: "json",
success: function(data) {
console.log(data.users);
for(var i =0; i < data.users.length; i++) {
var htm = '';
htm += '<tr id="inside">'
htm += '<td>'+data.users[i].id+'</td>';
htm += '<td>'+data.users[i].name+'</td>';
htm += '<td>'+data.users[i].email+'</td>';
htm += '</tr>'
$("#inside").append(htm);
}
},
error: function(data) {
}
});
});
}
</script>
路線:
Route::get('users/ajax','[email protected]');
問題是我是新使用Ajax和IDK的,如果我的方法是您所描述的分頁模式被稱爲無限滾動的正確方法
您沒有使用任何索引? – Daan
請分享ajax請求代碼和發送ajax請求的控制器。 –
我認爲你可以使用分頁來達到這個目的。這裏的示例代碼https://gist.github.com/tobysteward/6163902 – jaysingkar