我在这里有一些ajax:
$.ajax({
type: "POST",
url: "<?=site_url('front_office/get_email_list/')?>",
dataType: "text",
success: function(response) {
console.log(response)
}
});
由于某种原因,此代码返回所需的PHP,但它也返回我的head.php文件。
function get_email_list() {
$center_ids = array(
/* list of user ids */
);
print_r(json_encode($this->user_model->get_email_list($center_ids)));
/* get_email_list($center_ids)) returns a database query result */
}
最后,我的head.php包含您常用的带有javascript和css导入的<head>
标记。
输出类似于:
**** return from php *****<head>header stuff</head>
我宁愿不解析标题信息,而只是获取PHP输出。
注意:我使用的是codeiginiter,我在front_office
控制器中调用了一个函数。
第二个注释:我知道我现在没有发布任何内容,但我很快就会发布。我试过GET
,但问题仍然存在。
答案 0 :(得分:1)
您正在返回视图,检查请求,如果它不是ajax,请加载视图,否则将json编码结果返回到您的ajax请求。
if (!$this->input->is_ajax_request()) {
// load view
}else{
// Adding header, so jQuery ajax request will know that it is json
// and result will be parsed immediately
$this->output->set_content_type('application/json');
$this->output->set_output(json_encode($email_list_result));
}
有关返回JSON的更多信息: Returning JSON from a PHP Script
另外,检查你是否在构造函数方法中加载head.php? 请从控制器发布完整的代码。