Ajax: změna contentu

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

Ahoj,

potřeboval bych měnit měnit obsah contentu webu pomocí ajaxu. Mám jeden presenter a na něm několik pohledů. Mám odkaz:

<a href="{link stranka1!}" class="ajax">stranka1</a>

a obsluzny handler

<?php
	public function handleStranka1(){
		$this->renderStranka1();
		if (!$this->isAjax()) {
			$this->redirect('stranka1');
		}
	}
?>

…ale vraci to pouze stranku na ktere se jiz nachazim a obnovi ji to. Pokud vypnu javascript tak se to spravne redirectne na stranka1.

Nevite kde by mohl byt problem?

Jelzin
Člen | 3
+
0
-

[vyřešeno]

Pro ajaxové začátečníky jako jsem já:

odkaz ponechat v normální podobě

<a href="{link Homepage:stranka1}" class="ajax">

‚do‘ napsat treba natvrdo sem

<script type="text/javascript">
$(function() {
	$("a.ajax").live("click", function(event) {

		$.get(this.href + '&do=ShowContent');

		return false;

	});
});
</script>

handler postaci takto

<?php
	public function handleShowContent()
	{
		if (!$this->isAjax())
		{
			$this->redirect('this');
		}
	}
?>

Editoval Jelzin (16. 11. 2009 11:34)

blacksun
Člen | 177
+
0
-

Jak se to chová, když v url není žádný parametr a vznikne url http://example.com&do=ShowContent ? Vadí chybějící otazník před get parametry či nikoliv?

Jelzin
Člen | 3
+
0
-

to nevím, odkaz mi vždy na nějakou akci nutně směřuje (teoreticky to tak není pouze u odkazu na homepage, ale v tomto případě díky struktuře webu nedochází k ajaxovému požadavku). Každopádně to vyzkouším…