Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP自动加载在AJAX调用后找不到类文件_Php_Jquery_Ajax - Fatal编程技术网

PHP自动加载在AJAX调用后找不到类文件

PHP自动加载在AJAX调用后找不到类文件,php,jquery,ajax,Php,Jquery,Ajax,我正在使用PHP和一些JQuery构建一个非常简单的商店应用程序。 在第一次加载时,应用程序加载正常,但如果对同一脚本执行GET请求调用,则会出现错误: Warning: require(app\controllers\Wallet.php): failed to open stream: No such file or directory in C:\xampp\htdocs\abc\app\core\autoload.php on line 5 这是我的index.php文件(省略引导和J

我正在使用PHP和一些JQuery构建一个非常简单的商店应用程序。 在第一次加载时,应用程序加载正常,但如果对同一脚本执行GET请求调用,则会出现错误:

Warning: require(app\controllers\Wallet.php): failed to open stream: No such file or directory in C:\xampp\htdocs\abc\app\core\autoload.php on line 5
这是我的
index.php
文件(省略引导和Jquery链接):

Autoload.php
中自动加载非常简单

<?php

spl_autoload_register(function($className)
{  
   require $className.'.php';
});

似乎没有任何变化,但代码中断。

必须重构
autoload.php
添加绝对路径才能使其正常工作:

<?php

spl_autoload_register(function($className)
{  
    $file = $_SERVER['DOCUMENT_ROOT'].PROJECT_SUBFOLDER.$className.'.php';
    if(file_exists($file))
    {
        require_once $file;
    }
    else {
        echo 'File:'.$file.' not found';
    }
});

?>



您在autoload.php和app/core/app.php中缺少
?>
。@CoderCharmander,很遗憾,修复该问题没有帮助。关键是,在第一次加载时它可以工作,而在AJAX调用时它失败了。其他PHP文件在app/controllers中吗?(我知道这是一个愚蠢的建议)@CoderCharmander是的,当然。所有必要的文件都在那里。它们确实包含在第一次加载中。我认为这与相对路径有关。
<?php

spl_autoload_register(function($className)
{  
   require $className.'.php';
});
$(function() {
    $('#app').on("click","#addtocart", function (e) {
        e.preventDefault();
        productId = $(e.target).data("product-id")
        $.ajax({
            type: 'get',
            url: './app/core/App.php',
            data: {
                'addtocart': productId,
            },
            success: results => {
                $('#app').html(results);
            },
            error: () => {
                alert('Load error');
            }
        });
        console.log(productId);
    });    
})
<?php

spl_autoload_register(function($className)
{  
    $file = $_SERVER['DOCUMENT_ROOT'].PROJECT_SUBFOLDER.$className.'.php';
    if(file_exists($file))
    {
        require_once $file;
    }
    else {
        echo 'File:'.$file.' not found';
    }
});

?>