You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ajax无响应问题求助:Laravel动态评论区功能失效排查

解决Ajax动态评论区点击无响应的问题

我帮你排查下代码里的关键问题,这几个点是导致点击提交按钮没反应的核心原因:


1. 按钮点击事件绑定失败

你的Ajax代码里绑定了#submitComment这个ID的点击事件,但在Blade模板中,提交按钮并没有设置这个ID:

{{Form::submit('Submit', ['class' => 'btn btn-primary'])}}

点击事件找不到对应的元素,自然不会执行Ajax逻辑。给按钮加上ID即可:

{{Form::submit('Submit', ['class' => 'btn btn-primary', 'id' => 'submitComment'])}}

2. 控制器返回值不符合Ajax预期

你在CommentsController@store里返回的是页面重定向:

return redirect()->back()->with('success', 'Comment Created');

但Ajax是异步请求,它需要的是JSON格式的响应,重定向对Ajax来说无法触发success回调,甚至可能直接进入错误逻辑。修改控制器返回JSON:

public function store(Request $request)
{
    $this->validate($request, [
        'body' => 'required'
    ]);

    // 创建评论逻辑不变
    $comment = new Comment;
    $comment->body = $request->body;
    $comment->user_name = auth()->user()->name;
    $comment->post_id = $request->post_id;
    $comment->profile_picture = auth()->user()->profile_picture;
    $comment->save();

    // 返回JSON响应替代重定向
    return response()->json(['success' => 'Comment Created']);
}

3. 额外优化:监听表单提交更可靠

绑定按钮点击有时候会因为表单默认提交行为没完全阻断出问题,换成监听表单的submit事件会更稳妥:

$(document).ready(function(){
    $('#myForm').submit(function(e){
        e.preventDefault(); // 彻底阻止表单默认提交动作

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

        $.ajax({
            url: "{{ url('/comments') }}",
            method: 'POST',
            data: {
                body: $('#commentBody').val(),
                post_id: $('#post_id').val()
            },
            success: function(result){
                $('.alert').show();
                $('.alert').html(result.success);
                // 清空输入框优化用户体验
                $('#commentBody').val('');
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });
    });
});

做完这几个修改后,点击提交按钮应该就能正常触发Ajax请求,完成评论创建并显示成功提示了。

内容的提问来源于stack exchange,提问作者user9746625

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:06:46