Kam se schoval payload?

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

Nazdar, zkoušel sem zprovoznit ajax a ať dělám, co dělám, nefunguje to. Díval sem se tady na fóru, kde se řešily problémy s ajaxem, ale nic mi nepomohlo.
Mám v layoutu (čili žádné zavináče(?)) snippet flashMessages, který vypisuje všechny flash zprávy. V presenteru mám

<?php
public function handleTest()
{
    $this->flashMessage('Bude to fungovat?','success');
    $this->invalidateControl('flashMessages');
}
?>

a po kliknutí na příslušný odkaz to nic nedělá, jen to na chvilku zobrazí spinner. S vypnutým JS to funguje. Když sem hodil do $.nette.success alert tak se nezobrazil, takže k zavolání $.ajaxSuccess vůbec nedojde. Kde se stala chyba?

Ondřej Mirtes
Člen | 1536
+
0
-

Co máš ve Firebugu v odpovědi od serveru?

Sajmi
Člen | 9
+
0
-

V odezvě mi to vrací celý html stránky, ale nevím proč…

Editoval Sajmi (19. 2. 2010 12:21)

Sajmi
Člen | 9
+
0
-

Už mi to nevrací celý html, ale k tomu jsonu to přidává i titulek. WTF?

Panda
Člen | 569
+
0
-

Špatné zavináče? Viz Zavináčová magie v praxi.

Sajmi
Člen | 9
+
0
-

Zavináče mám právě dobře …

Sajmi
Člen | 9
+
0
-

Odezva serveru je:

<h2>Zkouška flash zpráv</h2>
{„state“:[],„snippets“:{„snippet–flashes“:„\t\t\t\t<div class=\"flash success\“>Tak se sakra zobraz!<\/div>\n"}}

Editoval Sajmi (19. 2. 2010 13:48)

Panda
Člen | 569
+
0
-

V tom případě nemáš správně zavináče. Něco Ti donutí <h2>ku zobrazit se.

Sajmi
Člen | 9
+
0
-

Hmm už vím kde je chyba … Ty zavináče sou fakt divný :-D Funguje to správně ve dvou případech:

  1. když tam žádný zavináče nejsou
  2. když sou všude (tzn. když mám v layoutu @{include #content} tak pak kolem každýho {block #content} musím mít zavináče i když tam žádnej snippet není … To je bug nebo feature?
Honza Kuchař
Člen | 1662
+
0
-

feature