Redraw snippetu po odeslání Json
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- JaxP
- Člen | 62
Dobrý den,
snažím se překreslit snippet, ale po odeslání Json (chyby) se již nic
neredrawuje (ani předtím pokud ho použiju). Cílem je informovat nette.ext
(js) o chybě při zpracování (o vyhození exceptiony).
public function ...FormSucceded(Nette\Application\UI\Form $form, $values) {
try {
...
} catch (\unitNumberException $exception) {
$this->redrawControl('unitManager'); // nestane se
$this->presenter->sendJson([
"error" => $exception->getMessage(),
"code" => $exception->getCode()
]);
}
$this->redrawControl('unitList');
}
Cílem je informovat o chybě i v jQuery:
$.nette.ext('unit-form', {
start: function () {
// magie
},
success: function () {
// pokud Exceptiona delej neco
// pokud OK delej neco jineho
},
error: function () {
// odchytí pouze ajax chyby - což Exceptiona není
}
}, {
});
- David Matějka
- Moderator | 6445
sendJson ukonci beh presenteru a nedojde k vykresleni sablony. muzes pouzit jen
$this->presenter->payload->error = ...;
a nechat bezet zivotni cyklus dal.