我在使用 Codeigniter 2.1.3 和最新的 codeigniter cjax 时遇到了这个奇怪的错误。奇怪的是,当我下载最新的 codeigniter 和最新的 codeitniger cjax 框架并复制到我的朋友服务器时,然后调用:
domain.com/ajax.php?test/test2
显示测试 ajax 示例......它的工作就像轻而易举,但是当我在我的服务器上执行此操作时,我得到服务器错误(即使如此,我们都有相同的 php 版本等)。然后服务器在错误日志文件中抛出此错误:
PHP Fatal error: Class 'CI_Controller' not found in /hosting/www/domain.com/www/application/response/test.php on line 3
现在,我已经通过 stackoverflow 阅读了遇到此问题的人,并通过更改构造并调用 CI_Controller 而不是 Controller 来解决。但我已经这样做了...... - 我的意思是它在基本示例中假设可以在不触及代码的情况下工作,它确实如此,只是因为某些糟糕的原因不在我的域中。
来自cjax framework for coderingter 的 Ajax.php 应该从文件夹响应加载控制器,命名为 test 并调用函数 test2,它看起来像这样(名为 test.php 的实际文件):
class Test extends CI_Controller {
function __construct()
{
parent::__construct();
}
/**
*
* ajax.php?test/test/a/b/c
*
* @param unknown_type $a
* @param unknown_type $b
* @param unknown_type $c
*/
function test($a = null,$b = null, $c = null)
{
$this->load->view('test', array('data' => $a .' '.$b.' '.$c));
}
/**
* ajax.php?test/test2
*
* Here we are testing out the javascript library.
*
* Note: the library it is not meant to be included in ajax controllers - but in front-controllers,
* it is being used here for the sake of simplicity in testing.
*/
function test2()
{
$ajax = ajax();
$ajax->update('response','Cjax Works');
$ajax->append('#response','<br /><br />version: '.$ajax->version);
$ajax->success('Cjax was successfully installed.', 5);
//see application/views/test2.php
$this->load->view('test2');
}
我希望有人可以为这个问题带来一些启示——或者也许有人已经经历过?
谢谢你的时间! 市场