选择2错误404(未找到)

时间:2018-04-09 09:17:26

标签: php ajax codeigniter jquery-select2

我的select2有一些问题,我正在关注这个例子,但它没有显示结果。我使用ajax使其更简单。

错误

404 (Not Found)

HTML

<div class="form-group">
   <label class="col-sm-4 control-label">Product Name</label>
   <div class="col-sm-6">
      <select class="productName form-control" name="productName" id="productName"></select>
   </div>
</div>

控制器

public function GetCountryName(){
    $search = $this->input->get('search');
    $query = $this->datacomplete->Get_Country($search, 'name');
    echo json_encode($query);
}

模型

class Datacomplete extends CI_Model{

    public function Get_Country($search) {
        $this->db->select('*');
        $this->db->limit(10);
        $this->db->from('auto');
        $this->db->like('name', $search);
        return $this->db->get('auto')->result_array();
    }
}

AJAX

$("#productName").select2({
    ajax: {
        url: "<?php echo base_url('auto_config/GetCountryName')?>",
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                search: params.term // search term
            };
        },
        processResults: function (data) {
            var results = [];

            $.each(data, function(index, item) {
                results.push({
                    id: item.id,
                    text: item.name
                });
            });
            return {
                results: results
            };
        }
    }
});

错误消息是404找不到,我不知道为什么。

2 个答案:

答案 0 :(得分:2)

我解决了。

<强>模型

return $this->db->get('auto')->result_array();

to

return $this->db->get()->result_array();

<强> AJAX

url: "<?php echo base_url('auto_config/GetCountryName')?>"

to


url: "<?php echo site_url('auto_config/GetCountryName')?>"

答案 1 :(得分:0)

问题在于:ajax中的url: "<?php echo base_url('auto_config/GetCountryName')?>",。您的控制器中的方法GetCountryName()应该可以在某个路径中访问,例如/get_countries然后您可以向它发送ajax。