【发布时间】:2018-07-21 18:48:13
【问题描述】:
我正在尝试使我的评论提交表单无需刷新即可工作,并将数据附加到 div 以显示评论。 目前提交表单有效,它被插入到数据库中,因此数据被传递给控制器,但它没有显示在 console.log 和 append 上。
JS
$("#newsCommentForm").submit(function(e){
e.preventDefault();
$.ajax({
method: 'POST',
url: '/store',
data: $(this).serialize(),
success:function(data){
console.log( $( this ).serialize() );
$('#test').append(data);
},
error: function( e ) {
console.log(e);
}
});
});
控制器
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>
【问题讨论】:
-
你期望什么输出?
storeNewsComment()是你的行动吗?如果是,为什么要保护它?此外,它没有返回任何东西 -
没有意识到控制器需要返回任何东西,我想既然数据是在 Ajax 中定义的,并且在那里调用了 console.log,它也存储在那里。那我应该返回什么?我希望输出是用户标识/博客标识/正文
-
谢谢,你让我走上正轨,现在可以了。