我是Laravel的新手。我試圖在我的laravel應用程序中發出一個AJAX請求,但我得到一個500(內部服務器錯誤)。 所以,這裏是我在.blade文件請求:在Laravel進行AJAX請求時獲取500錯誤
<script>
$(document).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('#getRequest').on('click', function() {
$.get('getMessages', function (data) {
$('#target').append(data);
});
});
});
</script>
我加入了.ajaxSetup以確保令牌不是這個問題的原因。所以,我在此.blade文件還鍵入以下標籤:
<meta name="csrf-token" content="{{ csrf_token() }}" />
這裏是我的route.php文件:
Route::get('getMessages', '[email protected]');
這裏是我的控制器與事業的方法:
public function getMessages()
{
return "OK";
}
這個問題對我來說很棘手,因爲我知道我可以在我的route.php文件中爲這個URI創建一個一致的函數,它會是同樣的事情。或不。我不知道,因爲如果我真的這樣做
Route::get('getMessages', function()
{
return "OK";
});
而不是指向一個控制器的方法,它的工作原理!但我需要它在控制器中工作。
當涉及到其他方法時,我的控制器運行正常,並且方法的名稱拼寫正確無處不在。
我在Windows上使用XAMPP。我將XAMPP設置爲僅與當前的Laravel應用程序一起工作,因此當我在瀏覽器中輸入「localhost」時,它會將我帶到我的應用程序頁面,並且所有數據庫數據都可以正常工作。
我意識到我拼錯控制器名稱。但仍然存在問題。當我檢查它是否是ajax請求時,我得到相同的錯誤。如果我直接從routes.php文件運行此檢查,它會起作用。 'if(Request :: ajax()){return'ho'; }' –