nefunkční ajax – používá se normální request

- Filip111
 - Člen | 244
 
Ahoj,
nemám s tím moc zkušeností, proto prosím o radu – mám snippet a
odkazy, které ho mají překleslit, ale nepoužije se ajax, ale po kliknutí na
odkaz se vždy provede reload celé stránky. Celkově to funguje a zobrazuje
správné věci, jen to není ajaxem.
Můžu sem dát případně odkaz na na živý web, ale jen aby mě někdo
nenařknul, že je to reklama.
Díky.
Link pro překreslení:
<a n:href="detail! detail=>$c['id']">
Šablona:
{snippet catalogDetail}
	....
{/snippet}
Presenter:
public function handleDetail($detail) {
	if($this->isAjax()){
		$this->invalidateControl('catalogDetail');
	}
	$this->template->cdetail = $this->context->catalogModel->fetchDetail($detail);
}
Používám ajax s jQuery: https://componette.org/search/?…

- Ascaria
 - Člen | 187
 
A máš odkazy javascriptem zajaxované? Něco jako:
<script>
        /* Ajaxová tlačítka */
        $('a.ajax, a.datagrid-ajax').off('click');
        $('a.ajax, a.datagrid-ajax').on('click', function(event){
            if(!event.isDefaultPrevented()){
                // Zobrazíme spinner
                $("#ajax-spinner, #ajax-spinner-bg").fadeIn('fast');
                // Načteme ajaxově stránku
                $.get(this.href);
            }
            // Zamezíme původnímu eventu
            event.preventDefault();
        });
</script>
A chybí ti u odkazu třída ajax asi no.
Editoval Ascaria (3. 4. 2012 12:14)

- Filip111
 - Člen | 244
 
Díky, už jsem na to přišel.
V první řadě jsem neměl na odkazech ajax class.
Dále mi pak chyběl script pro zajaxování – ten od Ascaria mi nefungoval,
ale pomohl ten co je přímo v dokumentaci:
$("a.ajax").live("click", function (event) {
    event.preventDefault();
    $.get(this.href);
});