我的控制器中有任务run
。我希望它返回 JSON 数据。就目前而言,我将我的 JSON 数据包装在模板 HTML 中。我如何告诉 Joomla 从控制器返回 JSON 数据?这是我的功能:
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 );
}
这会返回:
<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>
我想得到:
{"foo":"bar"}