hou*_*ous 2 php redirect symfony
我想在动作控制器之后重定向到上一页,但是我收到了这个错误. Symfony版本2.5.8
Cannot redirect to an empty URL.
500 Internal Server Error - InvalidArgumentException
这是actiuon:
    public function addFavoriteAction(Travel $travel, Request $request)
    {
    if (!$this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
        return $this->redirect($this->generateUrl('fos_user_security_login'));
    }
    if ($request->getMethod() == 'GET') {
    $favorite = new Favorite();
    $em = $this->getDoctrine()->getManager();
    $favorite->setUser($this->get('security.context')->getToken()->getUser());
    $favorite->setTravel($travel);
    $em->persist($favorite);
    $em->flush();
    }
    $referer = $this->getRequest()->headers->get('referer');
    return $this->redirect($referer);
}
更新
出现错误是因为我直接在浏览器地址栏中键入了操作链接.
小智 6
具有引用的解决方案不可靠,它是null.代理,浏览器可能会削减它.你首先需要检查$referer变量.
    $referer = $this->getRequest()->headers->get('referer');
    if ($referer == NULL) {
        $url = $this->router->generate('fallback_url');
    } else {
        $url = $referer;
    }
| 归档时间: | 
 | 
| 查看次数: | 3060 次 | 
| 最近记录: |