Php jQuery自动完成用逗号分隔的文本在CodeIgniter中不起作用
代码:search_json.phpPhp 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
<?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);
}