Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema basico Ajax PHP

Estas en el tema de Problema basico Ajax PHP en el foro de Frameworks JS en Foros del Web. hola chicos, mi problema mas basico no puede ser, tengo lo siguiente utilizando ajax Código: function HandResponse(){ if(this.readyState == 4){ alert(this.responseText); } } var oHttpRequest ...
  #1 (permalink)  
Antiguo 17/12/2008, 08:08
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Problema basico Ajax PHP

hola chicos, mi problema mas basico no puede ser, tengo lo siguiente utilizando ajax

Código:
        
        function HandResponse(){
            if(this.readyState == 4){
                alert(this.responseText);
            }
        }        
       
        var   oHttpRequest = new XMLHttpRequest();
        
        oHttpRequest.onreadystatechange = HandResponse;
        oHttpRequest.open("GET", "add_del_categories.php");
        
        oHttpRequest.send(null);
Código PHP:
echo 'holaaaaaa'
sencillo verdad? pues eso, lo unico que quiero ver es la respuesta del php en el alert de javasacript pero resulta que el alert me esta mostrando en lugar de 'holaaaa' que es lo que quiero, echo 'holaaaaaa', es decir, me lee el php como un archivo de texto y no intercambian informacion entre ellos
  #2 (permalink)  
Antiguo 17/12/2008, 10:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema basico Ajax PHP

En ese caso el problema no es de AJAX, si no que el servidor bajo el que lo estas ejecutando no soport PHP.

Saludos
  #3 (permalink)  
Antiguo 17/12/2008, 11:34
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema basico Ajax PHP

pero si tengo mi sitio completo corriendo en el servidor :s a la pagina php entro desde el navegador y me funciona sin problemas y con ajax es con lo que me sucede eso, y mire a ver el valor de status y me vale 0!!:O y no se que pasa, probare el mismo codigo en otro pc porque ya ni se que pueda ser
  #4 (permalink)  
Antiguo 17/12/2008, 12:17
 
Fecha de Ingreso: diciembre-2008
Ubicación: localhost
Mensajes: 232
Antigüedad: 15 años, 4 meses
Puntos: 3
En vez de This no debería ir oHttpRequest? No sé digo yo, y cuando crees una instancia de XMLHTTPRequest debes hacerlo compatible con todos los navegadores, ya que es diferente en IE y Fiferox y otros navegadores. Así te ahorraras dolores de cabeza.

Ahora el código debería ir así

Código PHP:
var   oHttpRequest = new XMLHttpRequest();

function 
HandResponse(){
            if(
oHttpRequest.readyState == 4){
                
alert(oHttpRequest.responseText);
            }
        }        

function 
EnviarSolicitud(){

        
        
oHttpRequest.open("GET""add_del_categories.php");
        
oHttpRequest.onreadystatechange HandResponse;
        
oHttpRequest.send(null);

Ah y las instancias son las siguientes:
  • Para Firefox y eso: new XMLHttpRequest();
  • IE (Algunas Versiones): new ActiveXObject("Msxml2.XMLHTTP");
  • IE (Algunas Versiones): new ActiveXObject("Microsoft.XMLHTTP");

Última edición por GatorV; 17/12/2008 a las 13:39
  #5 (permalink)  
Antiguo 17/12/2008, 13:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema basico Ajax PHP

Es muy raro, no te falta el <?php al principio de tu archivo?

Saludos.
  #6 (permalink)  
Antiguo 17/12/2008, 14:35
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema basico Ajax PHP

pues diganmelo a mi qe me estoy rompiendo la cabeza, no se qe es lo qe pasa aqui!!!:P esto si es frustracion, al final obviare el ajax y terminare haciendolo todo con php y reinstalare si me da el loco incluso el xp
no obstante, probe sin el this pero solo por probar porqe, this en una funcion no apunta al objeto qe la invoca? yo creo qe esta bien ahi no?

no obstante dejo codigo cambiado y qe igual no me funciona :(

Código HTML:
<script type="text/javascript">
        
        var oRequest;

        function handler(){
            if(this.readyState == 4){
               if(this.status == 200)
                alert(this.responseText);
               else
                alert(this.status);//aqui me devuelve 0  :s
        }
    }

    function loadXML(url,handler){

        if (window.XMLHttpRequest){
            oRequest = new XMLHttpRequest();

            if (oRequest.overrideMimeType) {
		oRequest.overrideMimeType("text/html");
	    }
                
            oRequest.onreadystatechange = handler;
            oRequest.open("GET",url,true);
            oRequest.send(null);
    
        } else if (window.ActiveXObject) {

          oRequest = new ActiveXObject("Microsoft.XMLHTTP");
            if (oRequest ){
              oRequest.onreadystatechange = handler;
              oRequest.open("GET",url,true);
              oRequest.send();
            }
        }
    }
    

    loadXML("add_del_categories.php", handler);


    </script> 
y si puse los tags de php, vamos qe ellos tambien forman parte de la foto del alert XD
  #7 (permalink)  
Antiguo 17/12/2008, 15:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema basico Ajax PHP

Mmm muy raro, y si accesas directo desde el explorador a add_del_categories.php que es lo que te muestra?

Cuando trabajas con AJAX es muy recomendable usar Firefox y Firebug mientras estas haciendo pruebas para ver los requests que se envian y que te contesta el servidor.

Saludos.
  #8 (permalink)  
Antiguo 06/01/2009, 05:19
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema basico Ajax PHP

joeeeeeee, ya se porque me pasa esto tios!!!!!
miren, sucede que mi sitio local lo tengo local jejeje valga la redundancia ;) pero a traves de un alias que creè en la configuracion de apache, y entonces claro, no puedo utilizar

oXMLHttpRrequest.open("get", "http://localhost/alias/pagina.php", false);

porque me lanza la excepcion de que estoy tratando de acceder desde ajax a recursos de otro dominio(una restriccion de seguridad qe se puede solventar pero qe ya creo qe la conoceis) en cambio, si traslado mis paginas al DocumentRoot de mi sitio pues si que funciona

entonces mi pregunta ahora es: alguien sabra que hay que configurar en apache o php para solucionar eso?
  #9 (permalink)  
Antiguo 06/01/2009, 09:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema basico Ajax PHP

No hay forma de pasar esas restricciones, ya que las impone directamente el explorador, no Apache o PHP.

Para pedir recursos de AJAX, es forzoso que el destino sea el mismo host y el mismo puerto, de lo contrario te va a dar error.

Saludos.
  #10 (permalink)  
Antiguo 06/01/2009, 09:44
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema basico Ajax PHP

ya, pero cuando tengo mi directorio raiz como alias estoy en el mismo host pero para XMLHttpRequest no :s entonces no se, aunqe bueno, con qe muede el directorio del sitio para el raiz no es que sea pa morirse xD
muxas gracias por responder ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:58.