larvel-jquery/ajax数据为空

larvel-jquery/ajax数据为空,jquery,ajax,laravel,Jquery,Ajax,Laravel,我试图让我的评论提交表单在不刷新的情况下工作,并将数据附加到一个div中以显示评论。 目前,提交表单可以工作,它被插入到数据库中,以便将数据传递给控制器,但它没有显示在console.log和append上 JS 控制器 protected function storeNewsComment(Request $request) { Comment::create([ 'user_id' => Auth::user()->id, 'blo

我试图让我的评论提交表单在不刷新的情况下工作,并将数据附加到一个div中以显示评论。 目前,提交表单可以工作,它被插入到数据库中,以便将数据传递给控制器,但它没有显示在console.log和append上

JS

控制器

protected function storeNewsComment(Request $request)
{
     Comment::create([
         'user_id'  => Auth::user()->id,
         'blog_id'  => $request->input('blog_id'),
         'body'  => $request->input('body'),
     ]);
}
我在视图中做了一个测试div

<div id="test">

</div>

您只需要将新注释保存到变量并返回它

protected function storeNewsComment(Request $request)
{
    $comment = Comment::create([
        'user_id'  => Auth::user()->id,
        'blog_id'  => $request->input('blog_id'),
        'body'  => $request->input('body'),
    ]);

    return response($comment);
}
这在success回调函数中有不同的含义,它引用了。在输入该函数之前,需要保存对此的引用:

$("#newsCommentForm").submit(function(e){
  var self = this;
  // ... code truncated for brevity

  success: function() {
    console.log( $( self ).serialize() );
  }
 });

你希望得到什么样的产出?storeNewsComment是您的行为吗?如果是,为什么要保护它?另外,它没有返回任何东西。我没有意识到控制器需要返回任何东西,我想,因为数据是在Ajax中定义的,并且在那里调用console.log,它也存储在那里。那我该怎么回呢?我希望输出是userid/blogid/bodyThank,你让我走上了正确的轨道,它现在可以工作了;return json_encode$return_数组;似乎对我有用。@MitchM好吧,您可以以更适合前端的方式返回数据。
$("#newsCommentForm").submit(function(e){
  var self = this;
  // ... code truncated for brevity

  success: function() {
    console.log( $( self ).serialize() );
  }
 });