如何解决“500(内部服务器错误)”(Laravel - ajax)

尝试通过 AJAX 引入路由数据时遇到此问题。


我想根据所选的“学院”进行动态选择,显示属于该学院的“课程”。


这是我的路线


Route::get('selectprogramas/{id}', 'SyllabusController@getProgramas');

这是Programas的模型


    class Programa extends Model

{

    protected $table = 'Programas';


    protected $fillable = [ 'nombre', 'perfil_profesional', 'competencias', 'facultad_id', 

    'perfil_profesional'];


    public function selectprogramas($id){

        return Programa::Where('facultad_id', $id)->get();

    }


}

这是控制器中的功能


public function getProgramas(Request $request, $id){

        if($request->ajax()){

            $programas = Programa::selectprogramas($id);

            return response()->json($programas); 

        }

    }

这是html中的两个select,我使用Laravel Collective


<div class="form-group col-9 font-weight-bold">

        {{ Form::label('facultad', 'Facultades:') }}

        {{ Form::select('facultad', $facultades, null, ['class' => 'form-control', 'id' => 'facultad']) }}

</div>


    <div class="form-group col-9 font-weight-bold">

        {{ Form::label('programa', 'Programas:') }}

        {!! Form::select('programa', ['placeholder'=>'Selecciona'], null, ['id'=>'programa']) !!}

    </div>

这是我的 javascript


$("#facultad").change(function (event){

    console.log("entre!!");

    $.get("../selectprogramas/" + event.target.value + "" ,function(response, facultad){

        $("#programa").empty();

        for(i=0; i<response.length; i++){

            $("#programa").append("<option>"+response[i].nombre+"</option>");

        }

    });

});

我的错误是这样的:

http://img4.mukewang.com/6183931f0001630407230049.jpg

jeck猫
浏览 186回答 1
1回答

喵喔喔

已经解决了!我在控制器功能上做了这个改变public function getProgramas(Request $request, $id){&nbsp; &nbsp; if($request->ajax()){&nbsp; &nbsp; &nbsp; &nbsp; $programas = Programa::where('facultad_id', $id)->get();&nbsp; &nbsp; &nbsp; &nbsp; return response()->json($programas);&nbsp;&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript