在Laravel中使用Ajax从数据库获取数据时获取500错误代码

时间:2020-01-24 04:40:56

标签: php ajax laravel laravel-6

在Laravel中使用Ajax通过以下功能从数据库中获取数据时,我得到500错误代码:

public function search(Request $request)
{
    if ($request->ajax()) {
        $query = $request->get('query');
        $data = Constant_model::get_icons('fontawesomeicons', 'id', 'DESC', 20, $query);
    }

    return response($data->jsonSerialize(), Response::HTTP_OK);
}

get_icons函数是:

public static function get_icons($table, $order_column, $order_type, $limit, $search = '')
{
    $result = DB::table($table)
        ->select('*')
        ->orderBy($order_column, $order_type)
        ->where('icon_name', 'like', '%'.$search.'%')
        ->paginate($limit);

    return $result;
}

我正在尝试使用带有以下Javascript的Ajax获取数据:

$.ajax({
    url: "/icons/search",
    method: "GET",
    data: {
      search: query
    },
    dataType: 'json',
    error: function (error) {

        console.log(error);

    },
    success: function(response) {

      alert(response);
    }
  });

1 个答案:

答案 0 :(得分:0)

App\Http\Controllers\Response类。您忘记了上面的代码use Response
把它放进去:

use Response;

或者,如果您不想导入它,也可以使用它:

 return response()->json(...);

现在,您必须将其退回,如下所示:

return response()->json($data->jsonSerialize(), Response::HTTP_OK);