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 | 18
+
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 | 18
+
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 | 18
+
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 | 18
+
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 | 18
+
0
-

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