LaravelAjax选择示例

LaravelAjax选择示例,ajax,laravel,Ajax,Laravel,我正在努力获得一个精选课程的教师资格 edit.js: success: function (data) { let quals = $('#qual_id'); $.each(data.qualifs, function(key, value) { quals.append("<option value='"+ key +"'>" + value + "</option>"); }); } public function edi

我正在努力获得一个精选课程的教师资格

edit.js:

success: function (data) {
    let quals = $('#qual_id');
    $.each(data.qualifs, function(key, value) {
        quals.append("<option value='"+ key +"'>" + value + "</option>");
    });
}
public function edit($id)
{

    $teacher = DB::table('teachers')->find($id);

    $qualifs = DB::table('qualif_teachers')
        ->join ('qualifs','qualif_teachers.qualif_id','=','qualifs.id')
        ->select('qualifs.qual','qualifs.arb_qual')
        ->where('teacher_id', '=' , $id)
        ->get();
    return response()->json([
        'status' => 'success',
        'teacher' => $teacher,
        'qualifs'=>$qualifs,
    ]);
}
查看:

<select id="qual_id" class="form-control" style="width: 100px;"></select>

结果:

<select id="qual_id" class="form-control" style="width: 100px;"></select>
现在它正在选择中显示[object]


期望值:默认情况下,它应该显示教师的资格,并且应该在下拉列表中显示所有资格列表。

您需要使
qualifs
返回为
json
,而不是
对象

通过以下方式将
对象
转换为
json

return response()->json([
    'status' => 'success',
    'teacher' => $teacher,
    'qualifs'=> json_encode($qualifs),
]);

不知道$qualifs集合是什么样子,但您应该尝试使用pulk()


最好的方法是返回整个“select”作为一个视图。您的答案接近我想要的。我如何才能只得到1和2作为输出?它返回;成功,[object object],{“id:1”id:2}]我怎样才能只得到1和2你的答案接近我想要的答案我怎样才能只得到1和2作为输出?你还需要将
$teacher
转换成
json
json\u encode($teacher)