Problem s handle a s prekreslenim snippetu

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

Mam nasledujuci snippet, v ktorom vypisem najnovsie ponuky

    {snippet result}
        {foreach $lastOffers as $data}
            {$data['id']}<br>
        {/foreach}
    {if $totalCountOffers > $countPerPage}
        <input type="button" value="Zobraziť ďalšie pobyty" id="ajax_dalsie_pobyty">
    {/if}
    {/snippet}

Po kliknuti na input by sa mal ajaxovo zavolat handle

        <script>
            $( '#ajax_dalsie_pobyty' ).click(function() {
                var id;
                id = 6;
                $.nette.ajax({
                    type: 'POST',
                    url: {link showMoreAccomodation!},
                    data: { 'id': id },
                    success: function(payload) {
                    }
                });
            });
        </script>

Handle :

    public function handleShowMoreAccomodation() {
        $id = $this->context->httpRequest->getPost('id');
        $this->template->lastOffers = $this->facade->getLastCategoryOffers($this->facade->getCategoryIdByUrl('wellness-pobyty'), $id);

        if ($this->isAjax()) {
            $this->redrawControl('result');
        }
    }

Pomocou handle by som potreboval do snippetu dostat zmenenu premennu lastOffers. Som v nette zaciatocnik a neviem v com moze byt problem.

Konzola mi hlasi:

  POST cela-url-adresa?do=ShowMoreAccomodation Aborted
  GET cela-url-adresa?id=1 OK

Dakujem za kazdy nazor.

Editoval Creator13 (20. 1. 2015 15:39)

David Matějka
Moderator | 6445
+
0
-

Nepracujes tam v action toho presenteru s parametrem id? Pri ajaxovem requestu se totiz POST data pripoji ke standardnim parametrum, tak se to mozna nejak mlati.

Creator13
Člen | 21
+
0
-

Toto mam v action

    public function actionCategory($url)
    {
        //tuto premennu som sem dal preto, lebo sa v handlu bude prekreslovat
        $this->template->lastOffers = $this->facade->getLastCategoryOffers($this->facade->getCategoryIdByUrl($url), self::ACCOMODATION_PER_PAGE);
    }

Ked to chcem robit cez odkaz a upravim podla toho handle, tak sa mi to pekne prekresli, ale potrebujem to mat riesene inak.

<a class="ajax" n:href="showMoreAccomodation! 6">update</a>
Creator13
Člen | 21
+
0
-

Je potrebne nieco upravit aj v RouterFactory? Momentalne ho mam takto:

		$router[] = new Route('<url>', 'Front:Accomodation:category');
David Matějka
Moderator | 6445
+
0
-

ne, router by nemelo byt nutno upravovat.
Zkus debuggovat, kde a na zaklade ceho dojde k presmerovani.

A zkus taky poslat normalni GET misto POST…

Creator13
Člen | 21
+
0
-

A inak ten moj zapis vyzera funkcne?

Podobny zapis pouzivam napriklad aj v inej casti webu a tam sa vsetko vykona bezproblemov. Preto netusim preco sa dany POST abortuje.

Creator13
Člen | 21
+
0
-

Diky za pomoc…mal som to celkovo spravne…uz som nasiel chybu…zabudol som odstranit jeden javascript, ktory to cele blokoval…