【问题标题】:Return to referer (double back)返回referer(双回)
【发布时间】:2019-03-07 13:24:45
【问题描述】:
当我想重定向到实际页面时,我经常使用referer:
$referer = $request->headers->get('referer');
return $this->redirect($referer);
但是当我使用这种方法时,我必须按两次后退按钮(任何浏览器的按钮将转到使用的最后一页)......所以我想知道是否有其他方法可以重定向到相同的页面,但没有这个双重向后错误...感谢任何会提供帮助的人:)
我说的是这个按钮 --->
【问题讨论】:
标签:
php
symfony
redirect
routes
referer
【解决方案1】:
如果使用referer,这可能不是一种安全的方法,您可以:
1) 使用 Symfony (docs) 提供的一些重定向方法:
return $this->redirectToRoute('homepage');
如果您真的不知道什么是引用页面,您仍然可以将所需的路由作为参数传递给您的控制器,并在您的 redirectToRoute 调用中使用它。
2) 使用 JavaScript。
function goBack() {
window.history.back();
}
可能在执行goBack方法之前需要执行一些后端操作,如果是这种情况,您可以使用AJAX调用,并在服务器响应时执行goBack方法。