【问题标题】:Laravel, 2 forms on the same page/URL posting to individual RoutesLaravel,同一页面上的 2 个表单/URL 发布到各个路由
【发布时间】:2019-05-26 09:54:07
【问题描述】:

在我的 laravel 网站中,我有一个包含现有表单提交(正在工作)的页面,我正在尝试添加另一个表单,但提交时刷新到空白页面

我为每个表单的 POST 设置了一个路由,但问题在于我有 2 个 POST 到相同的有效 url 'Route::post('user'

每个 POST 调用控制器中的不同函数,我需要两个表单位于同一页面/url(管理器/用户)上,但我不知道如何更改它以便它们都可以在这里工作。

如果我注释掉 manager.user.create 的路由,那么商店提交再次正常工作。

    Route::post('user', 'user\userManagerController@store')
        ->name('manager.user');

    Route::post('user', 'user\userManagerController@create')
        ->name('manager.user.create');


    {!! Form::open(array('method' => 'POST', 'url' => route('manager.user')))  !!}

    {!! Form::open(array('method' => 'POST', 'url' => route('manager.user.create')))  !!}

【问题讨论】:

    标签: php laravel routes


    【解决方案1】:

    您不能使用相同的动词和 URI 定义两个端点。 你可以试试这个:

    Route::post('user', 'user\userManagerController@store')
        ->name('manager.user');
    
    Route::post('anotherURI', 'user\userManagerController@create')
        ->name('manager.user.create');
    
    
    {!! Form::open(array('method' => 'POST', 'url' => route('manager.user')))  !!}
    
    {!! Form::open(array('method' => 'POST', 'url' => route('manager.user.create'))) 
    

    【讨论】:

    • 因此,如果包含两种表单的页面的 url 是 page.com/manager/user 并且我将一个端点设为“用户”而另一个端点设为“用户/创建”,那么它仍然可以工作吗?跨度>
    • 您必须将您可能拥有的 GET 端点和您刚刚共享的 POST 端点分开。您可能在一个页面中有多个表单,您只需要确保每个表单都被提交到另一个 URL。对于您的问题,是的,如果您使用不同的用户,例如一个用户,而另一个用户是用户/创建,那么它将起作用。
    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多