【问题标题】:How fix redirecting with parameter have error如何使用参数修复重定向有错误
【发布时间】:2019-08-27 06:33:50
【问题描述】:

在我的 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,
        ]);

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

在我的路线/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( 被忽略了,我不明白为什么?

【问题讨论】:

  • 尝试从路由中删除中间件。可能是其中之一不满足条件并停止执行。
  • 从 Route::group 移动 Route 似乎很好,我这样做是: Route::get('admin/oauthAdminCallback', [ 'as' => 'admin.oauthAdminCallback', '使用'=>'Admin\EventsController@oauthAdminCallback']);但无论如何,我的操作 oauthAdminCallback 没有被触发。但是,如果要评论顶部的第一行,我会收到未定义 oauthAdminCallback 的错误...任何问题?

标签: laravel redirect laravel-5 laravel-5.8


【解决方案1】:

所以你用它的名字来调用这条路线

试试这个

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

【讨论】:

  • 请看已修改
  • 可能从中间件检查您的中间件是否返回 true
【解决方案2】:

提及您的路线

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);

久经考验。

【讨论】:

  • 如果可行...您的“isVerified”、“CheckUserStatus”中间件有问题。它不会满足你的条件
猜你喜欢
  • 2019-05-21
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
  • 2020-05-24
  • 1970-01-01
  • 2021-01-02
相关资源
最近更新 更多