我是Laravel的新手。我正在尝试在我的laravel应用程序中发出一个AJAX请求但是我得到了500(内部服务器错误)。 所以,这是我在.blade文件中的请求:
<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', 'PagesController@getMessages');
这是我的控制器,其原因是:
public function getMessages()
{
return "OK";
}
这个问题对我来说很棘手,因为我知道我可以在我的route.php文件中为这个URI创建一个非常有用的函数,这将是同样的事情。或不。我不知道,因为如果我真的这样做了
Route::get('getMessages', function ()
{
return "OK";
});
而不是指向控制器的方法,它的工作原理!但我需要它在控制器中工作。
当涉及到其他方法时,我的控制器正常运行,并且方法的名称拼写正确无处不在。
我在Windows上使用XAMPP。我将XAMPP设置为仅适用于当前的Laravel应用程序,因此当我在浏览器中输入“localhost”时,它会将我带到我的应用程序页面并且所有数据库数据提取工作正常。
答案 0 :(得分:0)
您应该将ENV
设置为本地,以便调试代码。
也许更快的解决方案是让您查看storage/logs/laravel.log
并查看最后一个堆栈跟踪,以便确定错误的确切位置。