J'ai la tâche run
dans mon contrôleur. Je veux qu'il renvoie des données JSON. Dans l'état actuel des choses, je reçois mes données JSON enveloppées dans le modèle HTML. Comment puis-je dire à Joomla de ne renvoyer que des données JSON à partir du contrôleur ? Voici la fonction que j'ai :
public function run ( ) {
JFactory::getDocument()->setMimeEncoding( 'application/json' );
JResponse::setHeader('Content-Disposition','attachment;filename="progress-report-results.json"');
JRequest::setVar('tmpl','component');
$data = array(
'foo' => 'bar'
);
echo json_encode( $data );
}
Et ceci revient :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr">
...
</head>
<body class="contentpane">
<div id="system-message-container">
</div>
{"foo":"bar"}
</body>
</html>
J'aimerais obtenir :
{"foo":"bar"}