我有以下jquery ajax
fnc = {
ajax : function (){
$.ajax({
url: 'index.php?route=module/rows/filterView',
type: 'get',
success: function(data) {
alert(data);
}
});
}
}
这是我的活动注册
$(document).on('click','.loadfilter', function() {
fnc.ajax();
})
这是我的控制器
public function filterView() {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/collections.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/collections.tpl';
} else {
$this->template = 'default/template/module/collections.tpl';
}
$this->render();
}
在我的collections.tpl中,我有一个测试内容。
但是当我点击链接时,它显示为空警报。它不包含任何值。
为什么我得到空警报。我在这里做的错误是什么?任何人都可以提供帮助
答案 0 :(得分:1)
错误很简单:
您只调用$this->render();
,它只获取模板并呈现它,而根本没有输出。要输出渲染的模板,您需要调用它:
$this->response->setOutput($this->render());
如果您希望输出JSON,那么只需调用
即可$this->response->setOutput(json_encode($this->render()));
这可以通过打开任何 OpenCart控制器并查看输出和渲染的完成情况来解决......