Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery自动完成用逗号分隔的文本在CodeIgniter中不起作用_Php_Jquery_Codeigniter_Autocomplete - Fatal编程技术网

Php jQuery自动完成用逗号分隔的文本在CodeIgniter中不起作用

Php jQuery自动完成用逗号分隔的文本在CodeIgniter中不起作用,php,jquery,codeigniter,autocomplete,Php,Jquery,Codeigniter,Autocomplete,代码:search_json.php <?php function get_data() { $ci =& get_instance(); $ci->db->select('*'); $ci->db->from('top_menu'); $ci->db->order_by('menu_name'); $query = $ci->db->g

代码:search_json.php

<?php
    function get_data()
    {
        $ci =& get_instance();

        $ci->db->select('*');
        $ci->db->from('top_menu');
        $ci->db->order_by('menu_name');
        $query = $ci->db->get();
        $result = $query->result_array();
        foreach($result as $row)
        {
            $menu[] = array(
                                'id' => $row["id"],
                                'label' => $row["menu_name"]
                            );
        }
        return json_encode($menu);
    }
    echo "<pre>";
    print_r(get_data());
    echo "</pre>";
?>
public function search()
{
    $this->load->view('user/search_json');
}
$this
    ->output
    ->set_content_type('application/json')
    ->set_output(json_encode($return)); // Where $return is an array
在这段代码中,我创建了一个json格式的文件(即search_json.php),并希望在index.php中实现它。search_json.php文件工作正常,数据格式正确,但当我在标记输入字段中写入内容时,它什么也没有显示。那么,我如何解决这个问题

谢谢大家!

首先,
user/search
可以而且应该像
一样使用。(我通常是这样做的:)有趣的是,我并不是唯一一个使用它“错误”的人

如果我有ajax控制器,我倾向于如下设置输出:

public function search() {
    $return = $this->load->view('user/search_json', '', true);
    $this
        ->output
        ->set_content_type('application/json')
        ->set_output($return);
}
因此,在您的情况下,我想您应该将json php文件作为部分加载,并将输出设置为部分内容:


调试器控制台上有错误吗?没有错误显示@MathieuDormeval您的
user/search\u json
被调用了吗?没有,@MathieuDormeval什么也没有发生。但是,如果我创建一个单独的文件,那么它的工作可能需要设置标题。CodeIgniter将JSON作为
text/html
public function search() {
    $return = $this->load->view('user/search_json', '', true);
    $this
        ->output
        ->set_content_type('application/json')
        ->set_output($return);
}