Nefunkční javascript v nette (uplnej základ)

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

Zdravím zkouším rozběhnout uplně základní ajax, ale vůbec to neběží a nevím proč.

v presenteru mam

public function handlePokus(){
        if($this->isAjax())
        {
            $this->t = "3";
            $this->redrawControl();
        }
    }

šablona

<a n:href="pokus!" class="ajax">Zmen ID</a>
{snippet test}
    {$t}
{/snippet}

a js

$("a.ajax").on("click", function (event) {
    event.preventDefault();
    $.get(this.href);

});

bez javascriptu ten handle funguje normalne, proste se reloadne stranka, ale pokud to zapnu s javascriptem tak se po kliku nic nestane. Díky za odpovědi. Jinak je to komplet bez chyby v prohlížeči.

Editoval Lizardor (8. 10. 2015 14:27)

Pavel Kravčík
Člen | 1196
+
0
-

Máš připojený nette.ajax.js? https://componette.org/search/?…

Lizardor
Člen | 35
+
0
-

Pavel Kravčík napsal(a):

Máš připojený nette.ajax.js? https://componette.org/search/?…

Ano

David Matějka
Moderator | 6445
+
0
-

smaz ten tvuj JS s $("a.ajax").on("click",... – nette.ajax.js se na odkaz s ajax tridou napoji sam

Ale pokud bys opravdu chtel rucne vyvolavat z JS pozadavek, musis pouzit $.nette.ajax(url)

Lizardor
Člen | 35
+
0
-

David Matějka napsal(a):

smaz ten tvuj JS s $("a.ajax").on("click",... – nette.ajax.js se na odkaz s ajax tridou napoji sam

Ale pokud bys opravdu chtel rucne vyvolavat z JS pozadavek, musis pouzit $.nette.ajax(url)

Jak to teď myslíš? co by tam teda mělo bejt jelikož pokud to smažu normálně se to přesměruje na ten handle

David Matějka
Moderator | 6445
+
0
-

A mas ten nette ajax inicializovany dle navodu? https://github.com/…ette.ajax.js#… tedy $.nette.init() ?

Lizardor
Člen | 35
+
0
-

David Matějka napsal(a):

A mas ten nette ajax inicializovany dle navodu? https://github.com/…ette.ajax.js#… tedy $.nette.init() ?

To sem neměl a po zapnutí mi teď vyhodí chybu prohlížeč
GET http://localhost/profile/?do=pokus 500 (Internal Server Error)

David Matějka
Moderator | 6445
+
0
-

Tak koukni do logu

Jan Tvrdík
Nette guru | 2595
+
0
-

Už to asi vidím, $this->t vs. $this->template->t =)

Lizardor
Člen | 35
+
0
-

David Matějka napsal(a):

Tak koukni do logu

V logu mám

Fatal error: Possible problem: you are sending a HTTP header while already having some data in output buffer.

Editoval Lizardor (8. 10. 2015 14:58)

Lizardor
Člen | 35
+
0
-

Jan Tvrdík napsal(a):

Už to asi vidím, $this->t vs. $this->template->t =)

zapoměl jsem tu přidat render ale jinak

private $t = 2;
    public function renderDefault(){
        $this->template->t = $this->t;
    }

Takže s tím by problém bejt neměl

Editoval Lizardor (8. 10. 2015 15:01)

Lukes
Silver Partner | 68
+
0
-

Často bývá ještě problém s verzí jQuery. Ne každá fungovala s tímto pluginem.

Lizardor
Člen | 35
+
0
-

Lukes napsal(a):

Často bývá ještě problém s verzí jQuery. Ne každá fungovala s tímto pluginem.

použil sem základni verzi ze sandboxu tedy //code.jquery.com/jquery-1.11.2.min.js

Lizardor
Člen | 35
+
0
-

Tak problém vyřešen měl sem tam schované echo :/ jinak jak to udělat aby to fungovalo bez té nette knihovny? tedy prostě ručně to hodit na .click? jen by mě to zajímalo, jinak díky všem za reakce :)

Azathoth
Člen | 495
+
0
-

asi se podívat, co ta knihovna má v sobě a vykopírovat si to k sobě…a tam si to upravit, jak chceš.

Lizardor
Člen | 35
+
0
-

Azathoth napsal(a):

asi se podívat, co ta knihovna má v sobě a vykopírovat si to k sobě…a tam si to upravit, jak chceš.

spíš jak to udělat bez té knihovny