posilani dat dod nette z jine aplikace
- malkol
- Člen | 133
ahoj , mam napsaný prográmek v jave, a potřeboval bych uploadovat do nette data z něj .. jde konkretně o xml posilané do formuláře, doteď to fungovalo tak, že človšk vytvořil v Jave XML uložil ho a potom musel lézt na web .. tam ho vyplnit do formuláře a odeslat .. chtěl bych to udělat automatické a v Jave jen kliknout na synchronizaci … mělo by se to odeslat do toho formuláře.. v čistémPHP mi to fungovalo dobře .. jen nevím kam mám posilat POSTa jak, aby ho nette prijalo
Díky
- Tomáš Votruba
- Moderator | 1114
Ahoj, pošli si data na nějaký presenter, např.
web.cz/homepage/xml
a zpracuj si POST data pomocí httpRequest.
Nějak takto:
class HomepagePresenter extends Nette\Application\UI\Presenter
{
/** @inject @var Nette\Http\IRequest */
public $httpRequest;
public function actionXml()
{
$post = $this->httpRequest->getPost();
dump($post); // process post data
$this->terminate(); // end before rendering
}
}
Editoval Tomáš Votruba (21. 4. 2014 16:11)
- Tomáš Votruba
- Moderator | 1114
- Koukni do adresáře
logs
, tam najdeš laděnku s chybovou hláškou. - Ověř, zda to funguje klasicky přes url (tj. když zadáš web.cz/homepage/xml, zda ti web naběhne).
Napadá mne, že k tomu nemáš šablonu, tzn. je potřeba končit akci
pomocí $this->terminate()
(doplněno do původní
odpovědi).
Editoval Tomáš Votruba (21. 4. 2014 16:06)
- Tomáš Votruba
- Moderator | 1114
Omlouvám se. Chyběla mi tam anotace @var
, doplněno.
$httpRequest
se inicializuje automaticky, právě díky anotaci
@inject
(doporučeno používat pouze v presenterech).
Je o tom tento pěkný článek
.
Editoval Tomáš Votruba (21. 4. 2014 16:27)