Naja – syntaxError při odeslání formuláře s „payload->message“

vosy
Člen | 525
+
0
-

Ahoj,
zkouším s Najou odeslat formulář a aby při úspěšném zpracování formuláře byla odeslána nějaké zpráva.

na formuláři mám tuto funkci:

$onSuccessFce = function (): void {
            $this->flashMessage("Jste úspěšně přihlášeni.", 'success');

            if($this->isAjax())
            {
                $this->payload->message = 'Zkouška';
            }

            $this->redirect('Dashboard:');
        };

ale při odeslání se mi do konzole vypíše:

SyntaxError: Unexpected token '<', "<!doctype "... is not valid JSON

co mi tam chybí abych pak v .js pomocí

naja.addEventListener('complete', (event) => { ....

odchytit tu „message“?

Děkuji

Marek Bartoš
Nette Blogger | 1165
+
0
-

Když nastavuješ payload, tak ho musíš i odeslat, přes $this->sendPayload();
Takhle jsi jen nastavil proměnnou, ale stejně došlo k redirectu na dashboard a odeslal se jeho obsah

Editoval Marek Bartoš (7. 10. 2022 1:45)

vosy
Člen | 525
+
0
-

Díkes

Editoval vosy (7. 10. 2022 2:04)

vosy
Člen | 525
+
0
-

A kdybych chtě si poslat do .js nějakou proměnou a pak provést redirect?

Pavel Kravčík
Člen | 1180
+
0
-

Proč bys to dělal, pošleš proměnnou a pak přesměruješ? To tu proměnnou pošli s přesměrování a pak jí zobraz. $this->redirect('pes', ['les' => true]).

vosy
Člen | 525
+
0
-

díky

vosy
Člen | 525
+
0
-

Jde mi o to abych mohl v js udelat toto:

 naja.redirectHandler.addEventListener('redirect', (event) => {
		if( NĚJAKÁ PROMĚNNÁ)
		{
			TAK NĚCO PROVEĎ A...
			event.detail.setHardRedirect(true);
		}
    });

a na

	if (event.detail.url.includes('/neco-v-url')) {

se nemohu spoléhat