Я пытаюсь создать зависимый выбор с помощью ajax, вот мой JS
$("#make").change(function(){
$.ajax({
url: "{{ url('chauffeur/ajax_vehicle_model') }}?make = " + $(this).val(),
method: 'GET',
success: function(data) {
$('#model').html(data.html);
}
});
});
Моя маршрутизация выглядит так
Route::group(['middleware' => ['auth'], 'prefix' => 'admin', 'as' => 'admin.'], function () {
Route::get('chauffeur/ajax_vehicle_model','Admin\ChauffeurController@get_vehicle_model');
});
И в моем контроллере у меня есть это
public function get_vehicle_model(Request $request)
{
....
}
Но я получаю ошибку 404, есть идеи, что я делаю не так?
@yasaryousuf в файле лезвия между @section('javascript')
и @endsection
Попробуйте изменить свой маршрут следующим образом
файл маршрутизации
Route::get('chauffeur/ajax_vehicle_model', ['as'=> 'chauffeur.ajax.vehicle', 'uses' => 'Admin\ChauffeurController@get_vehicle_model']);
Теперь ваш js-код должен быть таким (если ваш js-код находится в файле .blade.php
)
$("#make").change(function(){
$.ajax({
url: "{{ route('chauffeur.ajax.vehicle') }}?make = " + $(this).val(),
method: 'GET',
success: function(data) {
$('#model').html(data.html);
}
});
});
попробуй это.
пришлось изменить маршрут в JS на route('admin.chauffeur.ajax.vehicle')
Как видите, у вас есть аргумент в группе маршрутов prefix
со значением admin
.
Это добавляет к вашим маршрутам внутри этой группы маршрутов префикс admin
. Таким образом, ваш URL-адрес в JS должен выглядеть так:
url(“admin/chauffeur/ajax_vehicle_model”)
куда вы поместили код javascript? в файле .js или файле блейда?