首页 > 解决方案 > 路由 [SearchController.php] 未定义。(看法:

问题描述

我有以下错误: Route [SearchController.index] 未定义。(看法:

我试图执行的代码如下:

搜索.blade.php

     function fill_datatable(filter_distance = '', filter_hotel = '')
       {
    var dataTable = $('#customer_data').DataTable({
        processing: true,
        serverSide: true,
        ajax:{
            url: "{{ route('SearchController.index') }}",
            data:{filter_distance:filter_distance, filter_hotel:filter_hotel}
        },
        columns: [
            {
                data:'distance',
                name:'distance'

现在我有以下应该与此相关的控制器:

搜索控制器.php。

在我的搜索控制器中,我有一种方法:

    function index(Request $request)
      {
     if(request()->ajax())
       {
        if(!empty($request->filter_distance))
        {
        $data = DB::table('posts')
      ->select('distance', 'posts_t etc...

网页.php

       Route::resource('search', 'SearchController');

我不确定发生了什么?

标签: ajaxlaravel

解决方案


如果您咨询php artisan route:list,您会看到您的路线名称是search.index,而不是SearchController.index

这应该有效:

url: "{{ route('search.index') }}",

或者:

url: "{{ action('SearchController@index') }}",

@json更好的是,通过指令在出现意外字符的情况下使您的路由安全地在 JavaScript 中使用,如下所示:

url: @json(route('search.index')),

推荐阅读