Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 如何从CodeIgniter控制器发送JSON格式的视图文件内容_Php_Ajax_Codeigniter_Model View Controller - Fatal编程技术网

Php 如何从CodeIgniter控制器发送JSON格式的视图文件内容

Php 如何从CodeIgniter控制器发送JSON格式的视图文件内容,php,ajax,codeigniter,model-view-controller,Php,Ajax,Codeigniter,Model View Controller,我正在从事CodeIgniter ajax基础上的一个项目 我想要什么? 我想使用JSON ajax加载页面内容。。。 何时将从客户端计算机生成请求。控制器将使用动态值执行视图文件,然后返回视图文件HTML、面包屑菜单项和一些其他内容 这是我的工作代码 class Manage extends CI_Controller { public function contentHome() { if($this->session->userdata('logged_

我正在从事CodeIgniter ajax基础上的一个项目

我想要什么?

我想使用JSON ajax加载页面内容。。。 何时将从客户端计算机生成请求。控制器将使用动态值执行视图文件,然后返回视图文件HTML、面包屑菜单项和一些其他内容

这是我的工作代码

class Manage extends CI_Controller {
    public function contentHome() {
        if($this->session->userdata('logged_in')) {
            $html = "Hello World... Hello World... ";
            $breadcrumb = array();

            header('Content-Type: application/json');
            echo json_encode(array('breadcrumb' => $breadcrumb , 'pageContent' => $html, 'session' => true, 'redirect' => false));
        } else {
            echo json_encode(array('breadcrumb' => '' , 'pageContent' => '', 'session' => false, 'redirect' => site_url('manage/login')));
        }
    }
}
如何替换此
$html=“Hello World…Hello World…”与我的视图文件HTML

有关更多详细信息,请参阅附件

我找到了解决方案:)


确保请求来自ajax 并发回相关的报头响应代码。 您希望在ajax错误处理程序中捕获任何未经授权的(401)代码

public function contentHome()
{
    // only allow ajax requests
    if(!this->input->is_ajax_request()) return;

    // you could also set some validation
    if(!$this->session->userdata('logged_in')) 
        return $this->output->set_status_header("401"); // un-authorized

    // Or directly send stuff to the browser
    $data = array(
       'pageContent'  => $this->load->view('', null, true),
       'breadcrumbs'  => $breadcrumbs
    );

    return $this->output
                ->set_header("HTTP/1.0 200 OK")
                ->set_content_type('application/json')
                ->set_output(json_encode($data));

}

对文件url使用Ajax get请求并返回页面的html?我已经在使用Ajax请求。。。如何在一次调用中获取所有参数。。?我可以获得面包屑菜单和会话信息。但无法获取查看文件HTML
public function contentHome()
{
    // only allow ajax requests
    if(!this->input->is_ajax_request()) return;

    // you could also set some validation
    if(!$this->session->userdata('logged_in')) 
        return $this->output->set_status_header("401"); // un-authorized

    // Or directly send stuff to the browser
    $data = array(
       'pageContent'  => $this->load->view('', null, true),
       'breadcrumbs'  => $breadcrumbs
    );

    return $this->output
                ->set_header("HTTP/1.0 200 OK")
                ->set_content_type('application/json')
                ->set_output(json_encode($data));

}