jquery致命错误:require(): Failed open required


php jquery Fatal error: require(): Failed opening required

我想使用基于groupId的数据库创建网格。目前,我有所有调用相同的查询。我的问题是,当我选择一个组,并使用jQuery发布到我的Gateway.php文件。我创建了一个psuedo-MVC设置。我在控制器,模型和视图中分离了3个目录。从这个php文件,我不断得到这些错误信息:

警告:require(Membership/Controllers/Members.php): failed to open stream: No such file or directory in H:'xampp'htdocs'HelloWorld'Membership'Includes'Gateway.php on line 11

致命错误:require():未能打开所需的'Membership/Controllers/Members.php' (include_path='.;H:'xampp'php'PEAR')在H:'xampp'htdocs'HelloWorld'Membership'Includes'Gateway.php第11行

所以,我尝试了几种方法。首先,我将调用移动到index.php,效果很好。但是从jQuery调用,它给了我错误。

我创建了另一个php文件,其中包含一个函数。我从模型和视图中移动了代码。我让它返回表的html与结果。它的工作原理。

有人能指出我的一个例子,使jQuery ajax调用类函数?或者给点方向


Members.js

var Members = {
Display: function(groupId) {
    var pData = {
        action: 'GetMembers',
        groupId: groupId 
    };
    $("#crGroups").empty();
    $("#crGroups").append("Getting Members..." );  
    $.ajax({
        url: "Membership/Includes/Gateway.php",  
        type: "POST",        
        data: pData,     
        cache: false,
        success: function (data, status, xhr) {
            try {
                var members = $.parseJSON(data);
                if (members !== undefined) {
                    $("#crGroups").empty();
                    $("#crGroups").append(members.html);       
                } else {
                    $("#crGroups").empty();
                    $("#crGroups").append(data);                   
                } 
            } catch (err){
               $("#crGroups").empty();
               $("#crGroups").append(data + "<br><br>Error description: " + err.message);                   
            }
        }       
    }); 
}

}

Gateway.php

<?php
$action = $_POST['action'];
$groupId = $_POST['groupId'];
$data = array();
// Gateway for processing
switch($action)  {
    case 'GetMembers' :   
        require  'Membership/Controllers/Members.php';
        $member = new MembersController();
        //include 'Members.php';
        $data["status"] = "success";
        $data["html"] = $member->GetMembers();
        //$data["html"] = getMembers();
        break;
    case 'AddMember' : 
        $page = 'Add Member'; 
        break;
    case 'page3' : 
        $data["status"] = "success"; 
        break;
    case 'page4' : 
        $data["status"] = "success"; 
        break;
    default :
        $data["status"] = "failure";
}
echo json_encode($data);
?>

just change

require  'Membership/Controllers/Members.php';

require  $_SERVER['DOCUMENT_ROOT'].'HelloWorld/Membership/Controllers/Members.php';

谢谢两位的建议。它工作。我确实把它放在我的其他文件中,但它解决了问题。我想我要定义我可以使用所有文件的地方,并更改一次。再次感谢。