繁体   English   中英

jquery 自动完成和 Laravel 5.1 抛出内部服务器错误 500

[英]jquery autocomplete and laravel 5.1 throwing internal server error 500

我试图通过从数据库中选择数据并将响应作为 json 返回来尝试自动完成,但我得到的只是内部服务器错误,这可能是 csrf 令牌的问题吗?

这是脚本

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js" ></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('input:text').bind({

            });
            $("#auto").autocomplete({
                minLength:2,
                source: '{{ URL('getdata') }}'

            });
        });
    </script>

这在控制器中:

public function getData(){

            $term = Input::get('term');

            $data = DB::table('items')->distinct()->select('item_name')->where('word', 'LIKE', $term.'%')->groupBy('word')->take(10)->get();
            foreach ($data as $v) {
                $return_array[] = array('value' => $v->word);
            }

            return Response::json($return_array);


    }

问题出在getData函数中,这一工作。

public function getData(){

            $term = Input::get('term');

            $data = DB::table('items')->distinct()->select('item_name')->where('item_name', 'LIKE', $term.'%')->groupBy('item_name')->take(10)->get();
            foreach ($data as $v) {
                $return_array[] = array('value' => $v->item_name);
            }

            return Response::json($return_array);


    }

inspector.js:44 GET http://127.0.0.1:8000/product/autocomplete?terms=d 500 (Internal Server Error) # *这是我的控制器

public function autosearch(Request $request){
                // dd($request->all());
                $query = $request->get('term','');
                $allproducts = Product::where('product_title','LIKE','%'.$query.'%')->get();

                $data = array();
                foreach($allproducts as $product)
                {
                    $data[] = array('value'=>$product->product_title,'id'=>$product->id);
                }
                if(count($data))
                {
                    return $data;
                }
                else{
                    return ['value'=>"No Result Found",'id'=>''];
                }
        }

这是我的脚本标签:

<script>
           $(document).ready(function(){
               var path = "{{route('autosearch')}}"
               $('#search_text').autocomplete({

                   source:function(request,response)
                   {
                       $.ajax({

                           url:path,
                           dataType:"JSON",
                           data:{
                               term:request.term
                           },
                           success:function(data)
                           {
                               response(data);
                           }

                       });
                
                   },
                   minLength:1,

               });
           });
       </script>


这是我的 HTML 表单:

                            <div class="col d-none d-xl-block">
                               
                                    <label class="sr-only" for="searchproduct">Search</label>
                                    <div class="input-group">
                                        <input id="search_text" type="search" name="search" class="form-control py-2 pl-5 font-size-15 border-right-0 height-40 border-width-2 rounded-left-pill border-primary typeahead"  placeholder="Search for Products" aria-label="Search for Products" aria-describedby="searchProduct1" autocomplete="off" required>

                                        <div class="input-group-append">

                                            <button class="btn btn-primary height-40 py-2 px-3 rounded-right-pill" type="submit" id="searchProduct1">
                                                <span class="ec ec-search font-size-24"></span>
                                            </button>
                                        </div>
                                    </div>
                                
                            </div>


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM