Joomla - le Contrôleur de la tâche qui renvoie des données JSON

J'ai la tâche de run dans mon contrôleur. Je veux le retour de données JSON. Comme il est, je reçois mes données JSON enveloppé à l'intérieur du modèle HTML. Comment dois-je dire à Joomla à juste retour des données JSON à partir du contrôleur? C'est 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 ce retourne:

<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>

Je voudrais obtenir:

{"foo":"bar"}

OriginalL'auteur Jeffrey Ray | 2013-05-24