Ajax Request in Verbindung mit einem Action forward oder redirect

Ein XMLHttpRequest (Ajax) Request in einer Extbase Extension in Verbindung mit der forward und / oder redirect Methode in der entsprechenden Action führt zu einem unerwünschten Ergebnis.
Ausgeliefert wurde nicht die definierte Vorlage, sondern die gesamte Seite.
Zu mindestens konnte ich das Verhalten in einer Extbase Version 4.7 beobachten 

Abhilfe konnte ich durch die Verwendung des UriBuilder (Tx_Extbase_MVC_Web_Routing_UriBuilder) schaffen.

Dependency Injection des UriBuilder im Controller

  
	/**
	 * uriBuilder
	 *
	 * @var Tx_Extbase_MVC_Web_Routing_UriBuilder
	 */
	protected $uriBuilder;

	/**
	 * injectUriBuilder
	 *
	 * @param Tx_Extbase_MVC_Web_Routing_UriBuilder $uriBuilder
	 * @return void
	 */
	public function injectUriBuilder(Tx_Extbase_MVC_Web_Routing_UriBuilder $uriBuilder) {
		$this->uriBuilder = $uriBuilder;
	}

Eine eigenen redirect Methode erstellen

  
	private function redirectWithUriBuilder($action, $controller, $pageType, $arguments = array()) {
		$this->uriBuilder->setRequest($this->request);
		$this->uriBuilder->setTargetPageType($pageType);
		$uri = $this->uriBuilder->uriFor($action, $arguments, $controller);
		$this->redirectToURI($uri);
	}

Beispielaufruf. Sofern Argumente anfallen und übergeben werden müssen, sind diese als letzer Parameter in einem Array zu übergeben.
pageType entspricht der definierten typeNum der Ajax Definition.

  
$this->redirectWithUriBuilder('showDetailQuery', 'Article', $pageType);