Ajax 提交表格 Laravel 5.1

Ajax submit form Laravel 5.1

你好伙计,我试图在 Laravel 5.1 中找到一个 Live feed 应用程序,当用户可以提交他们的帖子时。我仍然坚持使用 Ajax 因为我想在数据库使用 Ajax 请求中保存数据。

这是我的表格

{!! Form::open(array('url'=>'saveposts','method'=>'POST')) !!}                     
                     <div class="panel-body">
                        <textarea name="post" class="form-control share-text" rows="3" placeholder="Share your status..."></textarea>
                    </div>
                    <div class="panel-footer share-buttons">
                      <a href="#"><i class="fa fa-map-marker"></i></a>
                      <a href="#"><i class="fa fa-photo"></i></a>
                      <a href="#"><i class="fa fa-video-camera"></i></a>
                     <button type="submit" class="send-btn btn btn-primary btn-xs pull-right display-none" id="submit">Post</button> 
                    {!! Form::close() !!}

这是Ajax脚本

<script type="text/javascript">
$(document).ready(function(){
  $('#submit').click(function(){            
    $.ajax({
      url: 'saveposts',
      type: "post",
      data: {'post':$('input[name=post]').val(), '_token': $('input[name=_token]').val()},
      success: function(data){
        alert(data);
      }
    });      
  }); 
});
</script>

路线:

Route::post('saveposts', 'UserController@savePosts');

以及Controller中的方法

public function savePosts() {
    if(Requestjx::ajax()) {
        $data = Input::all();
        return Response::json([
                'error' => false,
                'insertedData' => $data
            ], 200);
    }
}

怎么了?它没有用。任何帮助表示赞赏。谢谢

您的控制器方法需要注入请求。 我不知道 "Requestjx" 是什么????我假设拼写错误。 试试这个:

public function savePosts(Request $request) {
    if($request->ajax()){
        $data = Input::all();

        return response()->json([
          'error' => false,
          'insertedData' => $data
        ]);
    }
}

已解决。问题是由于某些原因 "button" 标签没有正确调用 Ajax。所以我创建了一个 "a" link 来调用 ajax 请求,现在也可以工作了。