我正在研究CI框架,我需要在控制器中连续运行一个文件来检查数据库中的数据。 我已经尝试过在PHP中每2秒刷新一次页面。但这似乎是最好的方法,每2秒加载整个页面。所以我试图通过ajax调用运行该文件。 通常在php中我可以连续运行该文件。我在这个框架中尝试了同样的方法,但是我收到了一些错误,例如'致命错误:由于控制器中的类,在system / expressionengine / controllers / popup.php 中找不到类'CI_Controller'。 有没有办法通过AJAX调用连续在控制器中运行该文件。
这是我的代码
<?php
class Popup extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('popup_model');
}
public function popup1()
{
$page = $_SERVER['PHP_SELF'];
$sec = "2";
header("Refresh: $sec; url=$page");
$data['popup'] = $this->popup_model->get_events();
$data['title'] = 'Pop Up';
if (empty($data['popup']))
{
}
else
{
$this->load->view('popup/popup1',$data);
$this->load->view('popup/eve',$data);
}
}
}
答案 0 :(得分:2)
将ajax调用写入一个函数,并将文档就绪传递函数写入javascript函数setInterval(functionname, interval_delay);
答案 1 :(得分:0)
每2秒一次AJAX调用不好,可能会因为请求过多而使服务器过载。还有其他替代方法,如PHPWebsockets和NodeJS来实现这一目标。