Ich habe eine Methode erstellt, die von einer Ajax-Anforderung aufgerufen wird, wenn auf eine Schaltfläche geklickt wird.MasterRequest-URL in einem Fragment-Controller abrufen
/**
* @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');
}
Ich versuche, die URL der aktuellen Seite zu erhalten, macht von einem anderen Controller (dieses Verfahren in einem Fragment-Controller). Wenn ich $this->get('request_stack')->getMasterRequest()->getUri();
verwende, geben Sie mir die URL der addRouteAction
Methode.
Dies sollte mir die Master-Anfrage-URL geben, aber ich verstehe nicht, warum dies mir diese Methode URL senden. Wie kann ich die aktuelle Seiten-URL anstelle dieser Methoden-URL abrufen?
Vielleicht sollte ich stattdessen die URL mit JS bekommen?
Dank
'Request' gibt mir die' addRouteAction' zu URI. Also habe ich versucht mit Anfrage-Stack –
Haben Sie versucht, $ Request-> getRequestUri(); 'oder' $ Anfrage-> getBasePath() '? – DOZ
Ja, $ request-> getRequestUri(); 'gibt mir die selbe URL und' $ request-> getBasePath(); 'ist null –