在Laravel中选择AJAX by Dropdown - 错误405方法不允许

时间:2017-06-02 11:43:30

标签: php ajax laravel

我想制作一个AJAX,根据选定的下拉菜单从数据库中提取一些数据。但我得到错误405(方法不允许)。如果我去控制台,chroome告诉我这是一个Route问题:RouteCollection.php第251行中的MethodNotAllowedHttpException但是我找不到它。你可以帮帮我吗?

HTML

<div class="form-group">
    <label class="control-label col-sm-offset-2 col-sm-2" for="persona_id">Alumno:</
    <div class="col-sm-2">
        <select class="form-control" name="persona_id" id="persona_id">
            <option value="0">Seleccionar</option>
            @foreach ($personas as $persona)
                <option value="{{ $persona->id }}">{{ $persona->nombre . ' ' . $persona->apellido }}</option>
            @endforeach
        </select>
    </div>
</div>

AJAX

$(document).ready(function(){

    $('#persona_id').on('change',function(){

        //obtengo el id del alumno
        var alumno_id = $(this).val();

        if(alumno_id){
            $.ajax({
                type:'POST',
                url: "{{url('ajaxcobrar')}}",
                data:'alumno_id='+alumno_id,
                success:function(
                    $('#boxCuota').html(result); 
                }
            }); 
        }else{
            $('#boxCuota').html('<option value="">Selecciona Alumno Primero</option>');
        }


    });
});

路线

Route::post('/ajaxcobrar', 'CobrosController@getAlumno')->name('ajaxcobrar');

控制器

public function getAlumno(Request $request)
{
    //le paso el valor que traigo del request
    $alumno_id = $request::input(['alumno_id']);  

    $cuotas = DB::table('cuota_alumnos')
    ->where('persona_id','=',$alumno_id)
    ->whereIn('estado_id', [3,5])
    ->get();

    return Response::json($cuotas);  

}

0 个答案:

没有答案