Problem s handle a s prekreslenim snippetu
- Creator13
- Člen | 18
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
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
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>
- David Matějka
- Moderator | 6445
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…