Php Codeigniter:无法回显数据

Php Codeigniter:无法回显数据,php,codeigniter,json,Php,Codeigniter,Json,好的,各位 我有一个奇怪的问题与我的功能 public function getOutages($Site) { // pull a json data dump of all outages If(!$Site){ echo '[{}]'; }else{ $this->load->database('default', TRUE); $this->db->where('Clear', '0');

好的,各位

我有一个奇怪的问题与我的功能

public function getOutages($Site)
{
    // pull a json data dump of all outages 
    If(!$Site){
        echo '[{}]';
    }else{
        $this->load->database('default', TRUE);
        $this->db->where('Clear', '0');
        $this->db->where('FracID', $Site);
        $query = $this->db->get('vw_Outages');

        echo json_encode($query->result_array());
    }
}
当直接访问时,它不会响应任何内容。通过启用探查器,尽管它运行良好并输出数据

public function getOutages($Site)
{
$this->output->enable_profiler(TRUE);
    // pull a json data dump of all outages 
    If(!$Site){
        echo '[{}]';
    }else{
        $this->load->database('default', TRUE);
        $this->db->where('Clear', '0');
        $this->db->where('FracID', $Site);
        $query = $this->db->get('vw_Outages');

        echo json_encode($query->result_array());
    }
}

对此的任何洞察都会更受欢迎:D

可能您启用了输出缓冲或压缩,这可能会导致类似的问题。还要检查您试图输出的变量是否为空。如果这不起作用,请尝试使用视图显示数据。

CodeIgniter有一个输出缓冲系统(它还可以执行缓存控制器输出、设置标题和收集视图输出等操作)。您通常不会从控制器方法中回显
echo
。改为这样做:

public function mymethod() {
    $anobject = array();
    $output = json_encode($anobject);

    $this->output->set_content_type('application/json');
    $this->output->set_output($output);
}

请参阅。

缓冲和压缩的“确定否”。至于试图通过一个观点,这也是一个半身像。不过谢谢。:)我修改了代码,问题仍然存在。公共函数getOutages($Site){//如果(!$Site){$output='[{}]';}否则{$this->load->database('default',TRUE);$this->db->where('Clear','0');$this->db->where('FracID',$Site);$query=$this->db->get('vw_中断);$output=json_编码($query result->result_数组())}$this->output->set_content_type('application/json');$this->output->set_output($output);}您是否尝试过删除数据库代码并只输出字符串?仅仅根据你发布的代码很难判断出什么是错误的,但是如果你甚至不能回显一个字符串,这将指向正确的方向。