Подгрузка изображений через ajax
Нужно по клику выгружать изображения по ajax с сервера.
Но возвращается пустой массив, хотя количество элементов массива соответствует количеству файлов.
routes/web.php
//Route::get('/cars/images', 'CarController@carImages')->name('cars.images');
Route::post('/cars/images', 'CarController@carImages')->name('cars.images');
controller
public function carImages(Request $request){
$images = collect(File::allFiles(public_path('/images/catalog')) );
// $images = File::allFiles(public_path('/images/catalog'));
return response()->json([
'status' => 'ok',
'images' => $images,
]);
// return response([
// 'status' => 'ok',
// 'images' => $images,
// ]);
}
view
<button class="js-image-load" data-url="{{ route('cars.images') }}">click</button>
js
var page = 1;
$('.js-image-load').on('click',function(e){
e.preventDefault();
var url = $(this).data('url');
var data = {
page: page,
};
$.ajax({
method: 'post',
url: url,
data: data,
// dataType: 'html',
// async: false,
// crossDomain: 'true',
// processData: false,
// contentType: false,
// dataType: 'json',
success: function(res){
console.log(res);
},
});
});
в результате возвращаются такие данные:
images: Array(7)
0:
__proto__: Object
1: {}
2: {}
3: {}
4: {}
5: {}
6: {}
length: 7
__proto__: Array(0)
status: "ok"
Подскажите, как подгружать изображения с сервера по ajax?
public function carImages(Request $request){
$cars = Car::get();
$images = collect(File::allFiles(public_path('/images/catalog')) );
// $images = File::allFiles(public_path('/images/catalog'));
return response()->json([
'status' => 'ok',
'images' => $images,
'cars' => $cars
]);
// return response([
// 'status' => 'ok',
// 'images' => $images,
// ]);
}
в данном случае в элементе cars содержатся корректные данные из базы из таблицы cars,
а изображения почему-то не приходят