如何修复带参数的重定向有错误

How fix redirecting with parameter have error

在我的 Laravel 5.8 应用程序中,当会话中没有数据时,我需要重定向到一些默认控件。

我愿意

return redirect()->route('admin.oauthAdminCallback/' . $form_action);

routes/web.php 定义时:

Route::group(['middleware' => ['auth', 'isVerified', 'CheckUserStatus'], 'prefix' => 'admin', 'as' => 'admin.'], function () {    
    Route::get('oauthAdminCallback/{form_action}', [ 'uses' => 'Admin\EventsController@oauthAdminCallback']);//->name('oauthAdminCallback');

但是我得到了错误:

Route [admin.oauthAdminCallback/calendarActionUpdate] not defined.

如果第一行 $form_action 的值为:“calendarActionUpdate”。 哪种方法正确?

已修改: 我这样试过

return redirect()->route('admin.oauthAdminCallback',$form_action);

这样

        return redirect()->route('admin.oauthAdminCallback')->with([
            'form_action'   => $form_action,
        ]);

但是在这两种情况下我都没有错误,但是没有调用方法!

在我的 routes/web.php :

Route::group(['middleware' => ['auth', 'isVerified', 'CheckUserStatus'], 'prefix' => 'admin', 'as' => 'admin.'], function () {
    Route::get('oauthAdminCallback', [ 'as' => 'oauthAdminCallback', 'uses' =>'Admin\EventsController@oauthAdminCallback']);

//下面的方法没有被调用!

public function oauthAdminCallback()
{
    session_start();

    die("-1 XXZ oauthAdminCallback");

return redirect( 被忽略了,我不明白为什么?

所以您是按名称调用路由,所以

试试这个

return redirect()->route('admin.oauthAdminCallback',$form_action);

提及您的路线

Route::group(['middleware' => ['auth'], 'prefix' => 'admin', 'as' => 'admin.'], function () {
    Route::get('oauthAdminCallback', [ 'as' => 'oauthAdminCallback', 'uses' => 'Admin\EventsController@oauthAdminCallback']);
});

您的回调如下

return redirect()->route('admin.oauthAdminCallback', $form_action);

久经考验。