Jak vratit HTML pri volani handle ajaxem?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- flexroad
- Člen | 117
Ahoj,
ajaxem volam neco jako „/xxx/page/2“.
Pokud stranku http://neco.com/xxx/page/2 otevru v prohlizeci (bez ajaxoveho volani), vidim obsah nacteny ze sablony, coz je to co potrebuji.
Pokud ale akci zavolam ajaxem, vrati mi to {„state“:[]}, coz nechci. Jak docilit toho, aby mi nize uvedena funkce vratila HTML obsah sablony page.latte misto toho „state“ jsonu?
public function actionPage($id)
{
if ($this->isAjax()) {
//nacti latte sablonu a vrat jeji html obsah
}
}
Diky za cokoliv!
@flexroad
- flexroad
- Člen | 117
Tak si odpovim…
poresil jsem to nejak takto:
public function actionPage($page)
{
if ($this->isAjax()) {
$latte = new Engine();
$parameters = array('records'=>[1,2,3]);
$latte->render(__DIR__ . '/../templates/Home/page.latte', $parameters);
exit();
}else{
$this->redirect(':News:Home:');
}
}
- David Matějka
- Moderator | 6445
s nette.ajax.js jde infinite scroll udelat snadno :) https://github.com/…ette.ajax.js#…