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

Laravel 10中Ajax GET请求路由找不到问题求助

Laravel 10 Ajax请求路由找不到问题解决

问题现象

使用Laravel 10结合AdminLTE DataTables发起Ajax GET请求时,控制台返回404错误,提示路由不存在。

相关代码

路由定义

Route::get('members', [MemberController::class, 'getmembers'])->name('member.getmembers');

控制器方法

public function getMembers(Request $request)
{
    if ($request->ajax()) {
        $data = Member::where('active', '=', 'Y')->get();
        return Datatables::of($data)
                ->addIndexColumn()
                ->addColumn('action', function($row){
                    $btn = '<a href="javascript:void(0)" class="edit btn btn-primary btn-sm">View</a>';
                    return $btn;
                })
                ->rawColumns(['action'])
                ->make(true);
    }
}

Blade视图代码

@php
        $config = [
            'processing' => true,
            'serverSide' => true,
            'ajax' => "{{ route('members.getmembers') }}",
        ];
@endphp

<x-adminlte-datatable id="members" :heads=$heads head-theme="dark" striped hoverable with-button beautify :config=$config>
</x-adminlte-datatable>

控制台错误信息

"message": "The route {{ route('member.getmembers') }} could not be found.",
"exception": "Symfony\Component\HttpKernel\Exception\NotFoundHttpException",
"file": "F:\XAMPP\htdocs\edparkadmin\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php",
"line": 44,

问题原因与修复方案

  1. 路由名称拼写错误:路由定义的名称是member.getmembers,但视图中写成了members.getmembers(多了一个s),直接导致路由查找失败。
  2. Blade语法未被解析:在@php代码块中,"{{ route(...) }}"会被当作普通字符串传递,Laravel不会解析其中的Blade语法,最终请求地址变成了{{ route('...') }}这个字面量,自然找不到对应路由。

修复后的视图代码

@php
        $config = [
            'processing' => true,
            'serverSide' => true,
            'ajax' => route('member.getmembers'), // 直接调用route函数,无需Blade语法包裹
        ];
@endphp

<x-adminlte-datatable id="members" :heads=$heads head-theme="dark" striped hoverable with-button beautify :config=$config>
</x-adminlte-datatable>

额外检查步骤

  • 确认MemberController已在路由文件中正确引入
  • 验证Member模型存在且active字段定义正确
  • 执行php artisan route:clear清除路由缓存,避免缓存导致的路由不生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:04:50