2017-03-16 67 views
0

所以我一直在試圖爲我目前正在開發的項目創建一個實時搜索欄。我一直在遵循本指南:https://www.youtube.com/watch?v=y9WKRlJ1JGM在Laravel中使用AJAX時控制器不會發送回應

但是對我來說不起作用,經過很多測試後,我可以放心地說,AJAX請求正在發送到正確的控制器,並且正在執行必要的數據庫查詢。但是沒有任何內容會被髮送回頁面。我一直在這一整天,似乎無法找到任何具有類似問題的文章。我也沒有收到任何錯誤信息,它只是沒有做任何事情。

下面是我的一些代碼:

的Javascript

$('#searchbox').on('keyup', function(){ 
          $value = $(this).val(); 
          //alert($value); 
          $.ajax({ 
           type: 'get', 
           url: 'livesearch', 
           data: {'search':$value}, 
           succes:function(data){ 
            alert(data); 
           } 
          }); 
         }) 

路線:

Route::get('livesearch','[email protected]'); 

控制器:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use App\User; 

class AjaxController extends Controller { 
    public function livesearch(Request $request) { 

     if ($request->ajax()) 
     { 
      $output = ''; 
      $searchresults = User::where('firstname', 'LIKE', '%' . $request->search . '%')->orWhere('lastname', 'LIKE', '%' . $request->search . '%')->get(); 

      //print_r($searchresults); 

      if($searchresults) 
      { 
       foreach ($searchresults as $key => $searchresult) { 
        $output .= $searchresult->firstname . 
              ' ' . 
              $searchresult->lastname . 
              ' | ' . 
              $searchresult->company . 
              '<br>'; 
       } 
       //return $output; 
       return Response($output); 
       //return Response::json(['data' => $output]); 
      } 
     } 
    } 
} 

請忽略註釋代碼,我用它用於測試我的代碼在哪裏失敗。正如我所說的:一切似乎都在控制器必須將響應發送回去。

我真的希望你們中的一些人能夠幫助我。 在此先感謝!

+0

它到了那一點?嘗試拋出一些日誌進行測試。 – aynber

+1

你可以顯示你的HTTP請求和響應嗎?例如,在Chrome調試器中使用網絡選項卡。 另外,你在你的AJAX調用中輸入錯誤代碼'succes'而不是'success',難道這只是問題嗎? – SeriousDron

+0

這是'成功'的拼寫錯誤!感謝您的建議,我不能相信我自己沒有看到這個! –

回答

2
$('#searchbox').on('keyup', function(){ 
          $value = $(this).val(); 
          //alert($value); 
          $.ajax({ 
           type: 'get', 
           url: 'livesearch', 
           data: {'search':$value}, 
           succes:function(data){ 
            alert(data); 
           } 
          }); 
         }) 

你的回調是「成功」,但實際上你必須使用「成功」。

+0

謝謝!我現在覺得自己像個白癡。但我很高興它的工作! –