Laravel - 如何停止打印 URL 并加载页面内容?

Laravel - How to stop printing URL and load page content?

今天我遇到了一个奇怪的问题(因为我第一次遇到这个问题所以对我来说这是一个奇怪的问题)。保存模型的内容后,我只写了以下代码行return route('organization');,这样它将在保存内容后重定向到命名路由organization

organization 模型的内容保存后,只需打印 URL 页面 http//xyz.laravel/organization 而不是打印页面本身的内容!

当我手动输入并点击仪表板 URL 时,它出乎意料地打印了仪表板 URL 而不是加载仪表板内容!就像下图:

在我尝试存储该模型的内容之前一切正常。存储内容后,应用程序开始出现奇怪的行为。这是该模型的代码:

public function store(Request $request)
    {
        $validated = $request->validate([
            'organization_name' =>  'required|unique:organizations|max:255',
            'abn_number'        =>  'required',
            'address_one'       =>  'required|max:100',
            'state'             =>  'required',
            'post_code'         =>  'required'
        ]);

        // check organization exist or not
        $org = Organization::where('organization_name', $request->organization_name)->get();
        if( count( $org ) > 0 ) {
            //
        } else {
            $organization = new Organization();
            $organization->organization_name = $request->organization_name;
            $organization->abn_number = $request->abn_number;
            $organization->address_one = $request->address_one;
            $organization->address_two = $request->address_two;
            $organization->state = $request->state;
            $organization->post_code = $request->post_code;
            $organization->created_by = Auth::user()->id;
            $organization->created_at = Carbon::now();
            $organization->save();
            return route('organization');
        }
    }

谁能告诉我到底发生了什么,我该如何解决这个问题?

return route('organization'); 将生成 URL link 到路由并打印它

你可以使用 return redirect()->route('organization);

您可以从 https://laravel.com/docs/8.x/redirects

获取更多信息

这是因为您没有重定向到该路由,而是将路由 url 作为字符串返回,要将用户重定向到命名路由,您可以使用全局 redirect() 帮助程序,如下所示

return redirect()->route('organization'); 而不是 return route('organization');

更多请看 documentation