所以我一直在試圖爲我目前正在開發的項目創建一個實時搜索欄。我一直在遵循本指南: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]);
}
}
}
}
請忽略註釋代碼,我用它用於測試我的代碼在哪裏失敗。正如我所說的:一切似乎都在控制器必須將響應發送回去。
我真的希望你們中的一些人能夠幫助我。 在此先感謝!
它到了那一點?嘗試拋出一些日誌進行測試。 – aynber
你可以顯示你的HTTP請求和響應嗎?例如,在Chrome調試器中使用網絡選項卡。 另外,你在你的AJAX調用中輸入錯誤代碼'succes'而不是'success',難道這只是問題嗎? – SeriousDron
這是'成功'的拼寫錯誤!感謝您的建議,我不能相信我自己沒有看到這個! –