2017-02-06 4 views
1

フォームserachを持って、それから私は、このコードを試してみましたが、私は、コンソールを実行するときに、ここで私の見解ここ検索は、私は私のプロジェクトが必要です

<div id="qnimate" class="off"> 
    <div id="search" class="open"> 
     <button data-widget="remove" id="removeClass" class="closeSearch" type="button">×</button> 
      <input type="text" placeholder="Buscar Noticias - Articulos - Reviews" id="buscar" onkeydown="keydownFunction()" onkeyup="keyupFunction()"> 
      <button class="btn btn-lg btn-site" type="submit"><span class="glyphicon glyphicon-search"></span> Buscar</button> 
     <div id="resultadoBusqueda" class="col-md-12"></div> 
    </div> 
</div> 

は私のコントローラがされているPOST http://localhost:8000/buscar 500 (Internal Server Error) を言う

ここ
public function buscar() 
    { 
     $keywords = Input::get('keywords'); 
     $reviews = Reviews::where('estado','1')->take(); 
     $buscarReviews = new \Illuminate\Database\Eloquent\Collection(); 
     foreach ($reviews as $review) { 
      if(Str::contains(Str::lover($review->nombre), Str::lover($keywords))) 
       $buscarReviews->add($review); 
     } 
     return view::make('busqueda')->with('buscarReviews', $buscarReviews); 
    } 

ビューウィッヒは、情報

@foreach($buscarReviews as $review) 
    <div id="reviews" class="col-md-12"> 
     <a href="/review/{{$review->slug}}" class="link"></a> 
     <div class="col-md-4"> 
      <img src="Imagenes/{{$review->logo}}" width="50"> 
     </div> 
     <div class="col-md-8"> 
      <h2>{{$review->nombre}}</h2> 
      <div>{!! str_limit($review->descripcion, $limit = 150, $end = '...') !!}</div> 
     </div> 

    </div> 
@endforeach 

がここであることを示しています

var timer; 
    function keydownFunction(){ 
    timer = setTimeout(function(){ 
     var keywords = $('#buscar').val(); 

     if(keywords.length > 0){ 
      $.post('/buscar', {keywords: keywords}, function(markup){ 
      $('#resultadoBusqueda').html(markup); 
      }); 
     } 

    }, 500); 
    } 
    function keyupFunction(){ 
    clearTimeout(timer); 
    } 

理由がわからないと再入力された情報を印刷できません。 ありがとうございます。

+0

、あなたは(ストレージフォルダ内の)ログファイルに詳細なエラー出力を見ることができます。ブラウザのエラーを表示するには、APP_DEBUGをtrueに設定することもできます。 –

+0

エラーはコントローラから発生します。あなたのコントローラに 'Input'、' Reviews'と 'Str'が含まれていることを確認してください。実際のエラーを表示するには、ブラウザコンソールをチェックすることもできます。 – EddyTheDove

+0

私はコンソールをチェックして、私はこの 'jquery-1.12.4.js:10254'と言って、' xhr.send(options.hasContent && options.data)|| null)をチェックして ' – sittelle

答えて

0

このようなルートに変更することを覚えても

public function buscar(Request $request) { $keywords = $request->keywords; $reviews = Reviews::where('estado','1')->take(); $buscarReviews = new \Illuminate\Database\Eloquent\Collection(); foreach ($reviews as $review) { if(Str::contains(Str::lover($review->nombre), Str::lover($keywords))) $buscarReviews->add($review); } return view::make('busqueda')->with('buscarReviews', $buscarReviews); }

このコードを試してみてください、あなたはAJAXのPOSTリクエストを送信しているが、あなたのコントローラーにあなたが得る使用してその値を取得しようとしています。あなたが500ステータスコードを取得すると

Route::post('buscar', '[email protected]');

+0

それでも 'http:// localhost:8000/buscar 500(内部サーバーエラー)jquery-1.12.4.js:10254'を取得します。なぜ – sittelle

+0

あなたの現在のコードを書くことができますか? –

関連する問題