500 jquery.min.js:4(内部服务器错误)laravel ajax

时间:2017-07-09 13:00:52

标签: jquery ajax laravel

我是ajax的新手,我试过this教程,但我得到500 jquery.min.js:4(内部服务器错误),我没有任何想法解决这个问题,这里是代码:

观点:

  <div class="secure">Secure Login form</div>
  {!! Form::open(array('url'=>'account/login','method'=>'POST', 'id'=>'myform')) !!}
  <div class="control-group">
    <div class="controls">
       {!! Form::text('email','',array('id'=>'','class'=>'form-control span6','placeholder' => 'Email')) !!}
    </div>
  </div>
  <div class="control-group">
    <div class="controls">
    {!! Form::password('password',array('class'=>'form-control span6', 'placeholder' => 'Please Enter your Password')) !!}
    </div>
  </div>
  {!! Form::button('Login', array('class'=>'send-btn')) !!}
  {!! Form::close() !!}

jquery:

  <script type="text/javascript">
    $(document).ready(function(){
     $('.send-btn').click(function(){
      $.ajax({
       url: 'login',
       type: "post",
       cache: false,
       data: {'email':$('input[name=email]').val(), '_token': 
       $('input[name=_token]').val()},
       success: function(data){
       alert(data);
      }
     });
    });
   });
  </script>

控制器:

  public function login() {
  // Getting all post data
  if(Request::ajax()) {
    $data = Input::all();
    print_r($data);die;
  }
}

路线:

Route::get('account/login', function() {
  return View::make('login');
});
Route::post('account/login', 'AccountController@login');

1 个答案:

答案 0 :(得分:0)

我相信你得到500个错误代码,因为你没有用你的ajax请求发送任何csrf令牌,请在你的javascript中试试这个

$('.send-btn').click(function(){

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }   
    });


    $.ajax({
        url: 'login',
        type: "post",
        cache: false,
        data: {'email':$('input[name=email]').val(), '_token': 
        $('input[name=_token]').val()},
        success: function(data){
            alert(data);
        }
    });

});

如果这项工作有效,您应该打开控制台 - >网络 - >点击您的请求并给我们回复预览,以便我们为您提供帮助