Změna URL při ajaxovém requestu a podivné chování zpět v prohlížeči
- Filip111
- Člen | 244
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
Ahoj, ujisti se, že používáš poslední vydanou verzi. Taky si vypni
rozšíření history
.
$.nette.ext('history', false);
- Vojtěch Dobeš
- Gold Partner | 1316
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.