У меня около 10000+ записей на моем веб-сайте. Я применил нумерацию страниц, чтобы перечислить их. Но кроме перечисления есть вид карты для закрепления списков. Затем пользователь может искать на карте. Для этого мне нужны полные данные в на стороне клиента в виде массива json. Я сделал это как
function doInBackground(){
$.get('car/get-map-data',
{
'params':'$params'
'page':page
},
function(data){
if(data)
{
console.log(data);
}
});
}
Это мой вызов API. И мой контроллер API равен
public function actionGetMapData($params){
$searchModel=new CarSearch();
$dataProvider=$searchModel->search($params);
$models=$dataProvider->getModels();
$mapData=array();
foreach ($models as $key => $model) {
array_push($mapData, $model->title);
}
return json_encode($mapData);
}
У меня размер страницы 10 в поиске
$query = Car::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 10,
],
]);
Я повторяю вышеупомянутую функцию javascript, чтобы получить все данные страница за страницей на стороне клиента. Но иногда это становится очень медленным. Как я могу преодолеть это. Я хочу добавить данные для представления моей карты. следовательно, вид карты также становится медленнее. Как быстро загрузить 10000+ списков для клиента