【问题标题】:Laravel redirect()->back() return me iframeLaravel redirect()->back() 返回 iframe
【发布时间】:2020-07-17 16:32:47
【问题描述】:

我在 Laravel 中遇到重定向问题。

我使用此代码将 lang 设置为会话:

   Route::get('/lang/{locale}', function ($locale){

    Session::put('locale', $locale);
    return redirect()->back();
 
});

工作正常。

但在几页上,我使用了iframe 和内部路由:

<iframe src="{{route('wizzard')}}" width="800px" height="650px">
</iframe>

问题:当有iframe时,为什么-&gt;back()iframe返回Route“wizzard”而不是原来的页面?

如何让 laravel 在返回时忽略内部的iframe

【问题讨论】:

  • 给你的问题......你认为它如何确定当前请求的“返回”是什么?

标签: php laravel iframe


【解决方案1】:

我在路由中进行 URL 检查,现在没问题...

    Route::get('/lang/{locale}', function (Request $request, $locale){

    Session::put('locale', $locale);

    $uri = str_replace(url('/'), '', url()->previous());

    if ($uri == '/wizzard'){
        return redirect('table');
    }

    return redirect()->back();
    
});

【讨论】: