使用 laravel 6 中的 POST 方法重定向到控制器操作

Redirecting To Controller Actions with POST method in laravel 6

我在 UserController 中有一个名为 destroy 的操作我不想执行此操作而不是应该 运行 的 UserInfoController@destroy。所以我需要重定向到 UserInfoControlle@destroy 控制器。

UserController@destroy 动作;

return redirect()->action(
                    'UserInfoController@destroy',['id' => 1]
                );

操作成功运行但我收到此错误;

The GET method is not supported for this route. Supported methods: POST.

你有一些方法可以做到这一点,如下所示:

  1. 为此get创建新路线

    Route::get('/delete/{id}','UserInfoController@destroy')->name('deleteWithGetMethod');
    
  2. 在您的路线中将 post 更改为 any

    Route::any('/delete/{id}','UserInfoController@destroy')->name('delete');
    
  3. return 包含以下代码的视图

    <form id="myForm" action="{{ route('delete',$userInfoId) }}" method="post">
    </form>
    <script type="text/javascript">
        document.getElementById('myForm').submit();
    </script>