predani hodnoty z presenteru do „nette.ajax“
- vlkodlak
- Člen | 175
zdravim,
pokoušim se předat vytvořena data z presenteru do nette.ajaxu, stránku spustim, akci vytvořim … vše proběhne, ale do console logu má hodnota „new value“ se nevypiše
snipetty použit nelze, prože je třeba navazaní další javascriptové aktivity :-(
final class HomepagePresenter extends BasePresenter
{
...
public function handleMyaction()
{
$this->payload->myvalue= 'new item';
}
...
}
a pomoci main.js bych rád tuto hodnotu zachytil a vypsal napřiklad do console
$.nette.init();
$.nette.ajax({
success: function (payload) {
console.log(payload.myvalue)
}
});
Editoval vlkodlak (9. 3. 2022 22:21)
- vlkodlak
- Člen | 175
@Pepino dekuji pomohlo
mám jeste jednu otázku lze, prosím, odlišit zpracovani dvou signalu?
například: budu mit tyto dvě voláni
final class HomepagePresenter extends BasePresenter
{
...
public function handleMyaction()
{
$this->payload->myvalue= 'new item';
}
public function handleMyaction2()
{
$this->payload->myvalue= 'nová položka';
}
...
}
a chci mít pro každy jine zpracování, mám vymyšlet složité vetveni pomoci podminek nebo existuje možnost vše řešit již na urovní $.nette.ext? … protože zatím mi to zachyti oba dva signaly a zpracuje toto
...
$.nette.ext({
success: function (payload) {
console.log(payload.myvalue);
}
});
...
- Pepino
- Člen | 256
U použití $.nette.ext
to jde řešit vypínání
jednotlivých rozšíření při volání ajaxového požadavku.
$.nette.ext('akce1', {
success: function (payload) {
console.log(payload.myvalue);
}
});
$.nette.ext('akce2', {
success: function (payload) {
console.log(payload.myvalue);
}
});
A potom při volání:
$.nette.ajax({
url: ...,
off: ['akce1']
});
- vlkodlak
- Člen | 175
MajklNajt napsal(a):
@vlkodlak takisto si môžeš do payloadu poslať ďalšiu premennú, ktorú použiješ potom v
if(payload.premenna == "a") {...}
děkuji za tip, ano, je to možná jednodušší, ale s tou třídou nebo id mi to přijde „čistči“ rešení byt po čase, když kód budu upravovat a upravím názvy, již vidím jak sám sebe budu proklínat po několika probdělých nocích ;-)