通过opencart中的ajax加载产品

时间:2013-11-11 11:42:34

标签: php ajax opencart

我有以下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中,我有一个测试内容。

但是当我点击链接时,它显示为空警报。它不包含任何值。

为什么我得到空警报。我在这里做的错误是什么?任何人都可以提供帮助

1 个答案:

答案 0 :(得分:1)

错误很简单:

您只调用$this->render();,它只获取模板并呈现它,而根本没有输出。要输出渲染的模板,您需要调用它:

$this->response->setOutput($this->render());

如果您希望输出JSON,那么只需调用

即可
$this->response->setOutput(json_encode($this->render()));

这可以通过打开任何 OpenCart控制器并查看输出和渲染的完成情况来解决......