【发布时间】:2016-08-02 09:07:08
【问题描述】:
我已经创建了一个在单击按钮时由 Ajax 请求调用的方法。
/**
* @param Request $request
*
* @Route("/add", name="rapid_access_add", options={"expose"=true})
* @Method({"GET"})
*
* @return Response
*/
public function addRouteAction(Request $request)
{
$title = $request->query->get('title');
$user = $this->getUser();
$url = $this->get('request_stack')->getMasterRequest()->getUri();
$rapidAccess = new RapidAccess();
$rapidAccess->setUrl($url)
->setTitle($title)
->setUser($user);
$em = $this->getDoctrine()->getManager();
$em->persist($rapidAccess);
$em->flush();
$this->addFlash('success', $this->get('translator')->trans('user.flash.rapid_access_added', ['%title%' => $title], 'front'));
return new Response('OK');
}
我正在尝试获取当前页面的 URL,由另一个控制器呈现(此方法在片段控制器中)。
但是当我使用 $this->get('request_stack')->getMasterRequest()->getUri(); 时,这给了我 addRouteAction 方法的 URL。
这应该给我主请求 URL,但我不明白为什么这会给我这个方法 URL。如何获取当前页面 URL 而不是此方法 URL?
也许我应该用 JS 获取 URL?
谢谢
【问题讨论】: