Po odelslání ajaxu mi přijde odpověď ale na stránce se nevykreslí

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

Vrátí se mi snippety, ale nepřekreslí se stránka (resp. ten snippet). Čím to?

Layout:

<head>
	<script src="/js/jquery.js"></script>
	<script src="/js/jquery.nette.js"></script>
</head>
<body>
	na konci:
	<script>
		$(document).on('click', 'a.ajax', function (event) {
		    event.preventDefault();
		    $.get(this.href);
		});
	</script>
</body>

V handle metodě mám komponenty mám:

public function handleShow($show){
        $this->show = $show;
        if($this->presenter->isAjax()){
            $this->invalidateControl();
        } else $this->redirect('this');
    }

V šabloně komponenty:

{snippet}
<a n:href="show! 'all'" class="ajax">All</a>
....
....
{/snippet}

Takhle by to už mělo fungovat. Nebo ne?

Přijde mi:
State Object { itemList-show=„all“}
snippets Object { snippet-itemList-=„<div class="item-list“>… </table>\n</div>\n"}

EDIT: Ještě jsem si uvědomil, že měním persistentní parametr, který se bez ajaxu normálně zobrazoval v url. Nebude to právě ten problém? Nebo zajaxováním se jenom nebude zobrazovat?

David Matějka
Moderator | 6445
+
0
-

jelikoz je stranka s https://componette.org/search/?… uz 4 roky neaktualizovana, tak radeji pouzij:
https://github.com/…ette.ajax.js

thm
Člen | 147
+
0
-

Díky za pomoc. Funguje :)