据我所知,ajax讨厌启用CIs profiler,因为它最后将html注入到view()方法中,这与成功有关:$.ajax()上的回调.
我的想法是,而不是定义$this-> output-> enable_profiler(false);.在我所有用于ajax调用的方法上,我可以在扩展CI_Controller ..或其他位置的钩子或核心控制器中使用以下代码,只是不确定将其放置在何处.
<?php
if( $this->input->is_ajax_request() ){
$this->output->enable_profiler(false);
}
题:
我可以在哪里放置以下代码,以使CI禁用分析器(如果仅针对将在所有区域全局生效的Ajax请求启用分析器).如果有更好的解决方案,请告诉我.但是谷歌什么也没透露.
解决方法:
请扩展核心控制器,并在构造函数中检查post数组中的特殊post变量名称,并禁用分析器.
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
if(isset($_POST['is_ajax_request'])
$this->output->enable_profiler(false);
}
}
发送ajax请求时,发送一个is_ajax_request字段以禁用分析器.