1 votos

Php jquery Error fatal: require(): error al abrir el archivo requerido

Estoy queriendo crear una cuadrícula usando bases de datos basadas en un groupId. En este momento, tengo todo llamando a la misma consulta. Mi problema es cuando selecciono un grupo y uso jQuery para enviar a mi archivo Gateway.php. Creé un setup psuedo-MVC. Separé 3 directorios en Controller, Models y Views. Desde este archivo php, sigo recibiendo estos mensajes de error:

Advertencia: require(Membership/Controllers/Members.php): no se puede abrir el flujo: No such file or directory in H:\xampp\htdocs\HelloWorld\Membership\Includes\Gateway.php on line 11

Error fatal: require(): Failed opening required 'Membership/Controllers/Members.php' (include_path='.;H:\xampp\php\PEAR') in H:\xampp\htdocs\HelloWorld\Membership\Includes\Gateway.php on line 11

Entonces, he intentado varias cosas. Primero, moví la llamada al index.php y funcionó de maravilla. Pero desde la llamada de jQuery, me da errores.

Creé otro archivo php con una función en él. Moví mi código desde el modelo y la vista. Hice que devolviera el html de la tabla con los resultados. Funciona.

¿Alguien puede indicarme un ejemplo de hacer una llamada ajax de jQuery a una función de clase? o darme alguna dirección.


Members.js

var Members = {
Display: function(groupId) {
    var pData = {
        action: 'GetMembers',
        groupId: groupId 
    };
    $("#crGroups").empty();
    $("#crGroups").append("Obteniendo miembros..." );  
    $.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 + "Descripción del error: " + err.message);                   
            }
        }       
    }); 
}

}

Gateway.php

GetMembers();
        //$data["html"] = getMembers();
        break;
    case 'AddMember' : 
        $page = 'Agregar miembro'; 
        break;
    case 'page3' : 
        $data["status"] = "success"; 
        break;
    case 'page4' : 
        $data["status"] = "success"; 
        break;
    default :
        $data["status"] = "fracaso";
}

echo json_encode($data);
?>

0voto

huuuk Puntos 2359

Solo cambia

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

0voto

Anthoney Hanks Puntos 31

Agradezco a ambos por el consejo. Funcionó. Sí lo tenía que poner en mis otros archivos, pero resolvió el problema. Creo que voy a definir dónde puedo usarlo en todos mis archivos, y cambiarlo una vez. Gracias de nuevo.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X