在ajax发布中找不到路由

时间:2019-05-28 08:36:18

标签: php laravel

我正在尝试使用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错误,知道我在做什么错吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

如您所见,路由组prefix中有一个参数,值为admin

这会在您的路由组内的路由前面加上admin。这样,您在JS中的网址应如下所示:

url(“admin/chauffeur/ajax_vehicle_model”)