Php 如何从CodeIgniter控制器发送JSON格式的视图文件内容
我正在从事CodeIgniter ajax基础上的一个项目 我想要什么? 我想使用JSON ajax加载页面内容。。。 何时将从客户端计算机生成请求。控制器将使用动态值执行视图文件,然后返回视图文件HTML、面包屑菜单项和一些其他内容 这是我的工作代码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_
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));
}