在Laravel

时间:2016-07-25 20:17:38

标签: ajax laravel-5

我是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”时,它会将我带到我的应用程序页面并且所有数据库数据提取工作正常。

1 个答案:

答案 0 :(得分:0)

您应该将ENV设置为本地,以便调试代码。

也许更快的解决方案是让您查看storage/logs/laravel.log并查看最后一个堆栈跟踪,以便确定错误的确切位置。