Jak vracet data do javascriptu?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
simekadam
Člen | 36
+
0
-

Chtel bych se zeptat jak je mozne v nette vracet nejaka data(JSON,..) jako response nejake me ajaxove funkci aniz by probehlo vykresleni sablony (ta se mi vraci tedka)
Proste volam pres

<?php {link Upload!} ?>

funkci

<?php handleUpload($file){
//tady chci potom neco vratit
}?>

A jeste jeden dotaz..vysledna URL bude mit tvar

…?do=Upload&nejakeMojeParametry
$_GET[nazev]

idealni by bylo volat tu funkci handleUpload se vsemi temi parametry v jednom poli..Diky za pomoc nejak jsem se do toho zamotal:)

srigi
Nette Blogger | 558
+
0
-
public function handleUpload($file)
{
    $this->sendResponse(new JsonResponse(array(
        'foo'=>'bar',
    )));
}

O URL tvar pri volani signalu sa nestaraj, to si riesi Nette na pozadi samo. A ked to funguje, je kravina to nejak riesit, len aby si mal krajsie URL. V minulosti tu bolo kopec ludi, ktorym sa URL nepacilo, robili si na to routy alebo podobne sialenosti. Vzdy sme ich ale nakoniec presvedcili nech na to kaslu – fakt to nema zmysel.

simekadam
Člen | 36
+
0
-

Diky moc. S tema parametrema jsem to myslel spis jak je to reseny standardne?Jestli kdyz to vola ten handle, tak mu to implicitne preda nejaky asociativni pole parametru function handleSomething($array){}, nebo jestli si pro ne mam sahat standardne pres $_REQUEST, $_FILES,…
Koukal jsem, ze kdyz pouzivam AppForm, tak volam $prijatejParametr->getForm(), vraci mi to ukazatel, ale tohle je tak nejak reseni treti strany pro ajaxovej upload souboru..

I kdyz, prave koukam na MultipleFileUpload a asi to bude moje cesta:)nemam moc casu..tak jeste jednou diky

EDIT::jde mi tedy hlavne o ten pristup k uploadovanym souborum..

Editoval simekadam (19. 5. 2011 7:44)

bojovyletoun
Člen | 667
+
0
-

handleX($a,$b) – normální parametry PresenterRequstu. Tzn jak si to nastavíš na routeru, tak s to spáruje. Přečti si toto z doc's: https://doc.nette.org/…n/presenters , https://doc.nette.org/…n/presenters#…
Tedy v případě simpleRouteru stačí otevřít tuto url: http://localhost/…enter/action?… – lze zapsat takto : {link X!, 2}

simekadam
Člen | 36
+
0
-

Jo diky moc, nakonec to fungoval presne jak jsem chtel, ale ty odkazy si urcite prectu, to je to co mi nikdy neni jasne, kdyz jednou za cas do nette nakouknu:)