使用ajax在Laravel上实时搜索

时间:2017-08-01 05:10:07

标签: jquery ajax laravel-5.4 livesearch

我正在尝试在Laravel 5.4中进行实时搜索并且它无法正常工作,控制台显示错误 GET http://localhost/bodegasilusion/public/search 500(内部服务器错误)jquery.js:9392

我无法弄清楚为什么它不起作用,当我覆盖代码并且只是console.log()$ search的值时,它可以工作。

非常感谢任何帮助。

我的控制器

public function tableSearch(Request $request){

    if ($request->ajax())
    {
        $output = "";
        $products = DB::table('products')
            ->where('code', 'like', '%' . $request->search . '%')
            ->orWhere('description', 'like', '%' . $request->search . '%')->get();

        if ($products)
        {
            foreach($products as $key => $product){
                $output .=  '<tr class="gradeA odd" role="row">' .  
                                '<td class="text-center" data-id="{{ $product->id }}">'. $product->id .'</td>'.                          
                                '<td class="text-center">' . $product->code . '</td>'.
                                '<td class="displayImage" >' . '<img class="table_image" src="{{  route("product.image", ["image" => $product->image])  }}" alt="{{ $product->image }}">' . '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp' . $product->description . '</td>'.
                                '<td class="text-center">' . $product->in . '</td>'.
                                '<td class="text-center">' . $product->out . '</td>'.
                                '<td class="text-center">' . $product->in - $product->out . '</td>'.
                            '</tr>';   
            }

        }

        return Response($output);
    }
}

我的路线

 Route::get('/search', [
    'uses' => 'ProductsController@tableSearch',
    'as' => 'search'
 ]);

我的脚本

 <script type="text/javascript">
      $(document).ready(function(){
          $("#search").on('keyup', function(){
             $search = $(this).val();
             $.ajax({
                     type: 'get',
                     url: '{{ URL::to("search") }}',
                     data: {'search': $search},
                     success: function(data){
                        console.log(data);
                     }

              });
          });
     });
 </script>

1 个答案:

答案 0 :(得分:0)

我能够通过查看日志文件来解决问题,我确认我的课程中没有包含使用DB