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

使用Ajax向Laravel添加评论遇POST路由不支持报错,求解决方案

解决Laravel Ajax POST请求报错问题

问题排查与修复步骤:

  1. 修正JS表单提交逻辑
    你的JS代码缺少完整的表单提交事件绑定,且e.preventDefault()位置错误,导致表单默认以GET方式提交到当前页面,引发路由方法不匹配错误。修正后的完整JS代码:
$('.sendcomment').submit(function(e) {
    // 先阻止表单默认提交行为,必须放在最前面
    e.preventDefault();
    var data = $(this).serialize();

    $.ajax({
        method: 'POST',
        url: '/comment_add',
        data: data,
        statusCode: {
            404: function() {
                alert('请求地址不存在');
            }
        },
        complete: function(response) { 
            // 去除响应文本的空白字符,避免判断出错
            if(response.responseText.trim() === 'ok') {
                alert('评论提交成功');
                // 提交成功后清空表单
                $(this)[0].reset();
            } else {
                console.log('错误信息:', response.responseText);
            }
        }
    });
});
  1. 移除不必要的@method('PUT')
    你使用的是POST请求,添加@method('PUT')会将请求方法伪装成PUT,与路由定义的POST不匹配,直接删除该代码即可。

  2. 确认路由配置正确性

  • 确保Route::post('/comment_add','Admin\CommentController@addcomment');写在routes/web.php文件中(而非api.php,api路由默认带/api前缀,若写在api.php则Ajax URL需改为/api/comment_add)。
  • 检查是否存在同路径的GET路由,若有会导致请求匹配冲突,需删除或调整路由路径。
  1. 重新清除路由缓存
    执行以下命令确保路由缓存被完全清除:
php artisan route:clear
php artisan config:clear
  1. 验证控制器与方法
    确认Admin\CommentController文件位于app/Http/Controllers/Admin目录下,命名空间与方法定义正确:
namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

class CommentController extends Controller
{
    public function addcomment(Request $request)
    {
        // 后续可添加数据库写入逻辑,示例如下:
        // Comment::create([
        //     'email' => $request->email,
        //     'name' => $request->comment_name,
        //     'content' => $request->comment
        // ]);
        return 'ok';
    }
}

调试技巧

打开浏览器开发者工具(F12),切换到Network标签,提交表单后查看请求的方法、URL及响应内容,可快速定位问题所在。

内容的提问来源于stack exchange,提问作者Вероника Машкова

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:45:00