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

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š
Nette 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š
Nette 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.

RSS tématu Téma zavřeno