Я пытаюсь создать зависимый выбор с помощью 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, есть идеи, что я здесь делаю не так?

1
Elife 28 Май 2019 в 11:36

2 ответа

Лучший ответ

Попробуйте изменить свой маршрут, как это

файл маршрутизации

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);
        }
    });
});

Попробуй это.

1
Lakhwinder Singh 28 Май 2019 в 08:43

Как видите, в вашей группе маршрутов есть prefix аргумент со значением admin.

Это ставит перед вашими маршрутами внутри этой группы маршрутов admin. Таким образом, ваш URL в JS должен выглядеть так:

url(“admin/chauffeur/ajax_vehicle_model”)
1
Zoli 28 Май 2019 в 09:31
56338126