laravel 5.1 ajax error


laravel 5.1 ajax error

我们正在开发laravel 5.1。

虽然我做到了,但我想在ajax中获取数据,它将是500(内部服务器错误)。

会不会有麻烦不知道。你们越了解你们的教授,就越好。

route.php

Route::post('/getData', 'MasterController@getData');

view.blade.php

<script type="text/javascript">
    $(function($) {
  $(document).ready(function() {
    getData();
  });
  $.ajaxSetup({
    headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
  });
  function getData() {
    $.ajax({
      type: 'POST',
      url: '/getData',
      data: {
        'id': $('[name=id]').val()
      },
      success: function(data, dataType) {
        alert(data);
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert('Error : ' + errorThrown);
      }
    });
  }
});
</script>
            : 
            :
    {!! Form::open(array('url' => '/commit')) !!}
            :
            : 
    {!! Form::close() !!}
            :
            :

MasterController.php

public function getData() {
    if (Request::ajax()) {
        var_dump('bbb');
    }
    else {
        var_dump('aa');
    }
}

我相信,由于您使用的是Form外观,它会自动插入除AJAX标头之外的CSRF Token。CSRF令牌的重复会混淆中间件。简单的解决方案是不使用Form facade:

<from action="{{url('/comment')}}" method="post" name="barform">
    ...
</form>