Use $presenter->sendPayload() instead of terminate() to send payload

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Čamo
Člen | 798
+
0
-

Zdravím,
prosím vás čo je toto za chyba: Use $presenter->sendPayload() instead of terminate() to send payload.
Mám v presentery handler

	public function handleVoucherSubmit( $code )
	{
		if( $this->isAjax() )
		{
			$this->redrawControl('summaryContainer');
			$this->redrawControl('summaryContainerArea');
			$this->redrawControl('orderSumContainer');
			$this->payload->code = $code;
		}
	}

ktorý sa normálne zavolá dostane premennú odošle odpoveď a po asi 5 sekundách mi vyhodí túto noticku. Prečítal som si text pridal som sendPayload() a nič. Stále to isté, pritom ostatné handlery sú napísané tak isto. Už sm to raz riešil, ale nepamätám sa ako…

Díky.

Editoval Čamo (6. 12. 2016 23:40)

CZechBoY
Člen | 3608
+
0
-

Zkus

public function handleVoucherSubmit( $code )
{
    if( $this->isAjax() )
    {
        $this->redrawControl('summaryContainer');
        $this->redrawControl('summaryContainerArea');
        $this->redrawControl('orderSumContainer');

		$this->sendPayload((object)['code' => $code]);
    }
}
Čamo
Člen | 798
+
0
-

CZechBoY
Teraz som na to prišiel. Tá hláška je trochu zavádzajúca. Mne sa tam poza chrbát spúšťal cez ajax iný handler a ten vyhadzoval výnimu s týmto textom(čo je úplne mimo). A to sa asi týka toho, že výnimka spustí terminate(). Aspoň si myslím… Takže som ten handler fixol a už to nerobí.

Aj tak dík aspoň za morálnu podporu.

Editoval Čamo (7. 12. 2016 10:35)