Jak odeslat snippet v JSON bez AJAXového požadavku
- konva
- Člen | 88
Ahoj,
potřeboval bych při zavolání handle v komponentě odeslat snippet v JSON
bez AJAXového požadavku.
Zkoušel jsem volat v handle metodě
$this->presenter->sendPayload();
ale to nic nevrátí. Když naplním něco do payload, např.
$this->presenter->payload->mydata = $data;
tak to vrátí jen to mydata.
Díky za radu
Lukáš
- David Matějka
- Moderator | 6445
predpokladam, ze to souvisi s https://forum.nette.org/…v-komponente#… a s tim, ze uploadify neposila spravnou hlavicku, dle ktery se pozna ajax, ze?
koukni, jestli posila neco, dle ceho by se to nechalo dobre detekovat a kdyztak si prepis metodu isAjax v presenteru, tak, aby se to chovalo jako ajaxovy i pri pozadavku z uploadify..
- konva
- Člen | 88
ahoj,
ano souvisi to s tim, ale nikdo neodpovida :). Prepsat metodu isAjax jsem
zkousel v basePresenteru, ale zadna zmena … Zkousel jsem toto
public function isAjax()
{
if ($this->getParam('use_ajax')) {
return TRUE;
} else {
return parent::isAjax();
}
}
resp. Zkusil jsem i toto, ale pořád se mi vrací text
public function isAjax()
{
return TRUE;
}
Uploadify posílá toto
"accept":"text\/*",
"content-type":"multipart\/form-data; boundary=----------Ij5Ef1Ef1KM7cH2KM7Ij5ei4ae0ei4",
"user-agent":"Shockwave Flash",
"host":"test.loc",
"content-length":"202461",
"connection":"Keep-Alive",
"cache-control":"no-cache",
"cookie":"PHPSESSID=g3rcs6lvtatnp2d50hilltq284;
nette-browser=foaxgh7znl"
Editoval konva (28. 1. 2014 19:50)
- Etch
- Člen | 403
Minimálně se používá v template.
// template extending and snippets support
$_l->extends = empty($template->_extended) && isset($_control) && $_control instanceof Nette\Application\UI\Presenter ? $_control->findLayoutTemplateFile() : NULL; $template->_extended = $_extended = TRUE;
if ($_l->extends) {
ob_start();
} elseif (!empty($_control->snippetMode)) {
return Nette\Latte\Macros\UIMacros::renderSnippets($_control, $_l, get_defined_vars());
}
//
// main template
//
if ($_l->extends) { ob_end_clean(); return Nette\Latte\Macros\CoreMacros::includeTemplate($_l->extends, get_defined_vars(), $template)->render(); }
call_user_func(reset($_l->blocks['content']), $_l, get_defined_vars()) ;