Vrácení JSONu z handle (signálu)

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

Ahoj,
používám pro nějaké dotazy handeNeco(), jenže i ten v odpovědi posílá celou stránku. Já bych od něj potřeboval čistě mnou definovanou JSON odpověď bez čehokoli jiného. Děkuju za pomoc.

mkoubik
Člen | 728
+
0
-

Nevim jestli jde nějak zabránit posílání standardních dat (snippety, redirect), ale můžeš si do payloadu přidat vlastní klíč:

public function handleNeco()
{
	$this->payload->myOwnData = ...;
	$this->sendPayload();
}

a pak si to s něj vytáhnout v javascriptu:

success: function(payload) {
	var data = payload['myOwnData'];
}
Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Zabránit odesílání standardních položek lze, a to posláním přímo jsonu.

$this->sendResponse(new Nette\Application\Responses\JsonResponse(array(
	'foo' => 'bar',
	...
)));
besir
Člen | 170
+
0
-

Ahoj, vyřešil jsem již dříve, označil delete, ale nějak se neprojevilo. I tak děkuju :-)