我正在开发一个使用Smarty的系统(ActiveCollab)。我想输出一些JSON,所以我需要自己输出.没有其他巡洋舰了。但是,如果不为相应的操作提供Smarty模板文件,则会得到一个破坏JSON的错误输出。
有谁知道如何根据具体情况禁用Smarty输出?在伪码中,类似于
$this->smarty->disable();如果没有,有谁知道如何让ActiveCollab不需要模板文件来输出呢?或者甚至知道有一种更好的方法来输出JSON以供在ActiveCollab中使用?
我的主要目标是输出json,供ActiveCollab中的jqgrid使用,以防有帮助。
谢谢。
编辑:
结果表明,它就像在期望的输出之后添加die();一样简单。
function bar(){
echo $myoutput;
die();
}就这样。为什么我总是寻找“难”的答案,当解决方案是如此基本,我永远不会知道.叹一口气。
发布于 2011-12-01 10:11:02
只有当操作本身在结束执行之前没有提供退出时,activeCollab才会自动呈现页面内容周围的页面布局。这一出口可能是:
使用$this->serveData()
download_file()和download_content()函数G 214的存在
在您的示例中,您可以使用控制器的serveData()方法来服务JSON:
function action() {
$my_json_data = array('something');
$this->serveData($my_json_data, null, FORMAT_JSON);
}此函数将设置正确的HTTP报头,并对所发送的值进行编码。
https://stackoverflow.com/questions/8334243
复制相似问题