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

Laravel AJAX POST请求返回404错误,求排查原因

排查AJAX POST请求404错误的原因

我尝试向projects/delete发送AJAX POST请求时,收到POST http://127.0.0.1:8000/projects/delete 404 (Not Found)错误。

AJAX代码

$.ajax({
         type: "POST",
         url: '/projects/delete',
         data: {
         _token: '{{ csrf_token() }}',
         id: id
         },
         success: function(){
            thisBtn.closest('tr').fadeOut();
         },
         error: function(){
            alert('Nem sikerült a törlés!');
         }
});

路由配置

Route::post('/projects/delete', 'TesztController@deleteProject');

控制器代码

public function deleteProject(Request $request)
{
   $project = Project::find($request->input('id'));
   $project->delete();

   return "ok";
}

以下是可能的排查方向:

  • 确认路由是否存在:
    运行php artisan route:list命令,查看输出列表中是否有POST /projects/delete这条路由,同时检查对应的控制器和方法是否正确匹配。如果列表中没有该路由,说明路由未被正确加载,检查路由文件是否在Laravel的路由加载范围内。

  • 清除路由缓存:
    若之前执行过php artisan route:cache生成路由缓存,后续修改路由后需要重新清除缓存才能生效。执行php artisan route:clear命令,再重新测试请求。

  • 检查CSRF令牌的有效性:
    Laravel的CSRF验证失败有时会返回404状态码而非预期的419。查看页面源码中AJAX请求的Form Data,确认_token的值是否和页面<meta name="csrf-token">标签中的内容一致。如果AJAX代码写在外部JS文件中,{{ csrf_token() }}这种Blade语法不会被解析,需要通过meta标签获取令牌:

    const csrfToken = document.querySelector('meta[name="csrf-token"]').content;
    // 然后在AJAX的data中传入 _token: csrfToken
    
  • 验证控制器命名空间:
    对于Laravel 8及以上版本,路由中引用控制器需要完整命名空间(除非在路由文件中设置了命名空间前缀)。确认路由中的控制器路径是否正确,比如应该是App\Http\Controllers\TesztController@deleteProject,如果缺少命名空间,会导致找不到控制器从而返回404。

  • 确保请求URL路径正确:
    避免硬编码URL路径,改用Laravel的路由命名功能生成正确的URL。先给路由命名:

    Route::post('/projects/delete', 'TesztController@deleteProject')->name('projects.delete');
    

    然后在AJAX中使用route()辅助函数生成URL:

    url: "{{ route('projects.delete') }}"
    

    这样能避免因页面相对路径或部署环境导致的URL错误。

  • 检查控制器依赖是否正确:
    确认控制器顶部是否引入了Project模型和Request类:

    use App\Models\Project;
    use Illuminate\Http\Request;
    

    虽然这不会直接导致404,但如果控制器存在语法错误或依赖缺失,可能引发服务器错误,若服务器配置隐藏错误信息,也可能表现为404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 16:42:34