Změna URL při ajaxovém requestu a podivné chování zpět v prohlížeči

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

Ahoj,
narazil jsem na podivné chování (ale možná jsem jen neschopnej :)

Mám komponentu, v ní výpis příspěvků, při kliknutí na příspěvek se ajaxově zobrazí detail.
Funguje to, po kliknutí se vrátí json data a zobrazí se detail příspěvku…ok.

Co mě ale zaráží, zároveň se překreslí URL jako kdybych ajax vůbec nepoužíval.
Dále když pak odejdu z téhle stránky někam pryč (kamkoliv) a dám v prohlížeči zpět, zobrazí se mi právě vrácená json data, což je blbě.

Přijde mi to, že to mám skoro dobře, ale někde jsem na něco zapomněl nebo je to snad normální chování?

Používám script nette.ajax.js
Ukázka kódu:
<a n:href="detail! $m->id" class="ajax">detail</a>

public function handleDetail($id) {
	$this->template->message = $this->messagesRepository->find($id);
	if ($this->presenter->isAjax()) {
		$this->invalidateControl('detail');
	}
}

Data, která se mi vrací:
{"state":{"lang":null},"snippets":{"snippet-importantMessages-detail":"....a tak dále

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Ahoj, ujisti se, že používáš poslední vydanou verzi. Taky si vypni rozšíření history.

$.nette.ext('history', false);
Filip111
Člen | 244
+
0
-

Vypnutí history pomohlo, díky.

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Tahleta extenze je sice defaultně zapnutá, ale jde spíš o dummy řešení. Aktuálně se chystá defaultně vypnutá, mnohem pokročilejší varianta. Za komplikace se omlouvám.