如何在codeigniter控制器中定义json头?

时间:2015-06-10 04:33:38

标签: php codeigniter

我想在控制器中以json格式显示回复,并且不想在视图中移动。所以,请允许我以任何方式展示json回复。

以下是我想添加json标题的代码。

$result = $this->mod_doc->get_list();   
echo json_encode($result);

3 个答案:

答案 0 :(得分:19)

试试这些。

public function signin() {
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);    

//add the header here
header('Content-Type: application/json');
echo json_encode( $arr );
}

或尝试这种方式

return $this->output
        ->set_content_type('application/json')
        ->set_status_header(200) // Return status
        ->set_output(json_encode(array(your array)));

答案 1 :(得分:2)

$result = $this->mod_doc->get_list();
$this->output
    ->set_content_type('application/json') //set Json header
    ->set_output(json_encode($result));// make output json encoded

了解更多参考资料https://www.codeigniter.com/user_guide/libraries/output.html

答案 2 :(得分:0)

来源:https://www.codeigniter.com/user_guide/libraries/output.html?highlight=_output

$response = array('status' => 'OK');

$this->output
        ->set_status_header(200)
        ->set_content_type('application/json', 'utf-8')
        ->set_output(json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES))
        ->_display();
exit;