Javascript CodeIgniter-使用Ajax显示HTML DOM

Javascript CodeIgniter-使用Ajax显示HTML DOM,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我使用CodeIgniter作为PHP框架,并使用jQuery/AJAX处理请求。如果我想从AJAX请求返回数据,并想将其附加到包含HTML元素的页面,那么HTML元素应该包含在哪里 在模型中?处理SQL查询的位置 class Item_model extendes CI_Model { public function getAll() { $html = ''; $query = $this->db->query("SELECT c

我使用CodeIgniter作为PHP框架,并使用jQuery/AJAX处理请求。如果我想从AJAX请求返回数据,并想将其附加到包含HTML元素的页面,那么HTML元素应该包含在哪里

在模型中?处理SQL查询的位置

class Item_model extendes CI_Model {

    public function getAll()
    {
        $html = '';
        $query = $this->db->query("SELECT col1 FROM table1");
        foreach ($query->result() as $row)
        {
            $html .= '<span>'.$row->col1.'</span>'; 
        }
        return json_encode(array('html' => $html));
    }
还是在控制器中

class Item extends CI_Controller {

    public function item_list()
    {
        $html = '';
        $data = $this->Item_model->getAll();
        foreach($data as $dataitem){
            $html .= '<span>'.$dataitem['col1'].'</span>';
        }

        echo json_encode(array('html' => $html));

    }
还是在Javascript中

success: function(result){

    $.each(result.col1, function(k, v) {
        $("#div").append('<span>'+v+'</span>');
    });

}

我一直在想做这件事的标准/常规方法。但是如果我不得不猜测的话,我会选择控制器。

应该在Javascript中。它将避免冗余的dataspan标记事务

整个过程如下:

将ajax请求从视图发送到控制器,然后将输入传递到模型以执行DB操作,并将DB结果数组返回给控制器。在json_编码后回显结果数组

视图->控制器->模型->控制器->视图