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

Google Chrome no me ejecuta bien Ajax.

Estas en el tema de Google Chrome no me ejecuta bien Ajax. en el foro de Frameworks JS en Foros del Web. Buenas, tengo un problemita con ajax y chrome. A ver, os cuento. Estoy con un login mediante ajax. Para loguear hago lo siguiente: Llamo a ...
  #1 (permalink)  
Antiguo 21/11/2012, 10:26
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 2
Google Chrome no me ejecuta bien Ajax.

Buenas, tengo un problemita con ajax y chrome.

A ver, os cuento.

Estoy con un login mediante ajax.

Para loguear hago lo siguiente:

Llamo a esta funcion:

Código:
function loguear(){
	var xmlhttp;
	
	var user = $(document.getElementById("user")).val();
	var pass = $(document.getElementById("pass")).val();
	if(window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
	}else{
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlHttp.onreadystatechange=function(){
		if(xmlHttp.readyState==4){
			alert(xmlHttp.responseText);
			if(xmlHttp.responseText==true){
				/*$(document.getElementById("form_login")).hide(500,function(){
					$(document.getElementById("chat")).show("slow");
				});*/
				var selectedEffect = "clip";
				var options = {};
				$("#form_login").effect("explode", options, 500, function(){
					$(document.getElementById("chat")).show(selectedEffect, options, 500);
				});					
			}else{
				var selectedEffect = "shake";
				var options = {};
				$("#form_login").effect(selectedEffect, options, 500);
			}
		}						
	}
	//xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.open("GET","php/sesion/conexion.php?accion=logueo&user="+user+"&pass="+pass,true);		
	xmlHttp.send();	
}
Funciona perfecto, llama al archivo conexion.php y le paso un parámetro que es "accion" que es el que luego usaré para llamar a una función. Os pongo el php mejor y lo veis bien:

Código PHP:
<?php
    
    
//Sesion
    
session_start();

    
//$_SESSION['id_usuario'];
    
    //Conexion MYSQL LOCAL
    
$user 'Dracknes';
    
$pass 'toor';
    
$servidor 'localhost';
    
$bbdd 'chats';
    
    
//Conexion MYSQL REMOTO
    /*$conexion;
    $user;
    $pass;
    $servidor;
    $bbdd;*/
    
    //Conectar
    
$conexion mysql_connect($servidor$user $pass) or die (mysql_error());
    
    
//Seleccionar la BD a utilizar
    
mysql_select_db($bbdd$conexion) or die (mysql_error());
    
    function 
logueo(){
        
//Obtenemos user y pass
        
$usuario utf8_decode($_GET['user']);
        
$contrasena utf8_decode($_GET['pass']);
        
        
//Realizamos la consulta y la ejecutamos
        
$query "SELECT count(*) cuenta, id_usuario, usuario FROM USUARIOS WHERE usuario = '".$usuario."' and contrasena = '".$contrasena."'";
        
$comprobacion mysql_query($query$GLOBALS['conexion']) or die(mysql_error());
        
        
$ejecucion mysql_fetch_array($comprobacion) or die(mysql_error());
        if(
$ejecucion['cuenta']==1){
            
$_SESSION['id_usuario'] = $ejecucion['id_usuario'];
            echo 
true//Si existe
        
}else{
            echo 
false//Si no existe
        
}
    }
    
    function 
deslogueo(){        
        
//Destruimos la session
        //session_start();
        //session_destroy();
        
echo true;
        
    }
    
    function 
obtenerDatos(){
        
$query "SELECT mensaje FROM MENSAJES ORDER BY id_mensaje DESC LIMIT 10";
        
$comprobacion mysql_query($query$GLOBALS['conexion']) or die(mysql_error());
        
        while(
$ejecucion mysql_fetch_array($comprobacion)){
            echo 
'<p>'.$ejecucion['mensaje'].'</p>';
        };        
    }
    
    function 
insertarDatos(){
        
$query "INSERT INTO MENSAJES (MENSAJE, ID_USUARIO) VALUES('".$_GET['texto']."', ".$_SESSION['id_usuario'].")";
        
$comprobacion mysql_query($query$GLOBALS['conexion']) or die(mysql_error());
        echo 
'<p>'.$_GET['texto'].'</p>';                    
    }
    
    if(isset(
$_GET['accion']) && $_GET['accion']=="logueo"){
        
logueo();
    }else if (isset(
$_GET['accion']) && $_GET['accion'] == "obtenerDatos"){
        
obtenerDatos();
    }else if (isset(
$_GET['accion']) && $_GET['accion'] == "insertarDatos"){
        
insertarDatos();
    }else if (isset(
$_GET['accion']) && $_GET['accion'] == "deslogueo"){
        
deslogueo();
    }
    

    
?>
Como veis al final llamo a las funciones. Bien,a hora el problema.

Tengo otra funcion que llama al php para desloquear que es la siguiente:

Código:
function desloguear(){
	var xmlhttp2;	
	if(window.XMLHttpRequest){
		xmlHttp2 = new XMLHttpRequest();
	}else{
		xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlHttp2.onreadystatechange=function(){		
		if(xmlHttp2.readyState==4){
			if(xmlHttp2.responseText==true){
				alert(xmlHttp2.responseText);			
								
			}
		}						
	}
	//xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp2.open("GET","php/sesion/conexion.php?accion=deslogueo",true);		
	xmlHttp2.send();	
}
Este, en firefox funciona perfecto, me llama a la función y me devuelve 1 (que es true). Pero en chrome me devuelve una cadena vacia, con lo cual es como si no llamase a la funcion, lo cual me ralla, porque el codigo es el mismo.

Alguna posible solucion? Tiene que ver que esté en localhost?

Un saludo.
  #2 (permalink)  
Antiguo 21/11/2012, 12:08
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 2
Respuesta: Google Chrome no me ejecuta bien Ajax.

Solucionado. No me puedo creer que era simplemente por no poner "./php/.....".

En fín.


Un saludo.

Etiquetas: ajax, chrome, ejecuta, funcion, google, php, select
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 11:02.