Ajax verzus redirect ako to že to funguje bez redirectu?

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

Vitajte,
a prosím vás vysvetlite mi jednu vec. snažím sa pochopiť ako funguje ajax v nette a aj by som to chápal, až na tie formuláre. Každý vie, že po odoslaní formuláru sa musí urobiť presmerovanie, lebo inak by bolo možné dáta vložiť ešte raz.
No ale v príklade z návštevnej knihy vidím kód:

	public function postForm_onSubmit(Form $form)
	{
		...
		$this->flashMessage('Váš příspěvek byl uložen. Děkujeme za Váš čas.');
		if (!$this->isAjax())
			$this->redirect('this');
		else {
			$this->invalidateControl('form');
			$form->setValues(array(), TRUE);
		}
	}

Ako to že to funguje?

PS: Aké js súbory treba mať aktuálne prilinkované, aby fungovalo Nette+ajax?

Ď.

jiri.pudil
Nette Blogger | 1032
+
0
-

Ako to že to funguje?

Pokud to nevynutíš pomocí History API, ajaxové požadavky se vůbec nezapisují do historie prohlížeče, takže se na ně uživatel nemůže znovu donavigovat / refreshnout, a tím formulář znovu odeslat.

Aké js súbory treba mať aktuálne prilinkované, aby fungovalo Nette+ajax?

https://github.com/…ette.ajax.js

Čamo
Člen | 798
+
0
-

Ahá, díky.