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

No Recibo Nada ; Ajax

Estas en el tema de No Recibo Nada ; Ajax en el foro de Frameworks JS en Foros del Web. hola! tengo problemas con el ajax. quiero que busque en la db el usuario que ponga en el campo y manda la respuesta y los ...
  #1 (permalink)  
Antiguo 31/01/2007, 00:10
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
No Recibo Nada ; Ajax

hola!
tengo problemas con el ajax. quiero que busque en la db el usuario que ponga en el campo y manda la respuesta y los escriba en un div id. pero eso no ocurre. y lo que hace es que imprime es el codigo del archivo verificar.php

verificar.php
Código PHP:
function conectar()
{
    
// Conexion a base de datos
    
mysql_connect("localhost""root""") or die(mysql_error());
    
mysql_select_db("tunerspot") or die(mysql_error());
}

function 
desconectar()
{
    
mysql_close();
}

function 
verificaEx($username)
{
    
    
consulta=mysql_query("SELECT username FROM member WHERE username='$username'") or die(mysql_error());
    
$registro=mysql_fetch_row($consulta);
    
    if(!empty(
$registro)) return TRUE;
    else return 
FALSE;
}

    
 

if(
$_POST["username"])
{
    
// Quito espacios en blanco al comienzo y fin de la cadena
    
$valor=trim($_POST["username"]);
    
// Si el valor recibido es valido...
    
if(validaIngreso($valor))
    {
        
conectar();
        
// Si el apodo ya existe en base de datos...
        
if(verificaEx($valor)) echo "<p> $username Exist in TunerSpot Database</p>";
        
        
desconectar();
    }

scripts.js
Código:
function objetoAjax(){

var xmlhttp=false;

try {


xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (E) {

xmlhttp = false;

}


}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {

  xmlhttp = new XMLHttpRequest();

  }

  return xmlhttp;

  }
function Verificar(){
	divverificar = document.getElementById('verificar');
	username=document.form1.username.value;

ajax=objetoAjax();

ajax.open("POST", "verificar.php",true);

  ajax.onreadystatechange=function() {

  if (ajax.readyState==4) {



  divVerificar.innerHTML = ajax.responseText
  }
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");


  //enviando los valores

  ajax.send("username="+username)
}
Código HTML:
<label for="username">Username</label>
	<input id="username" name="username"  onChange="Verificar();"><br>
<div id="verificar"></div> 
  #2 (permalink)  
Antiguo 31/01/2007, 06:56
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: No Recibo Nada ; Ajax

¿Donde tienes situado el fichero verificar.php en el servidor?
  #3 (permalink)  
Antiguo 31/01/2007, 09:12
Avatar de ventanazul  
Fecha de Ingreso: noviembre-2002
Ubicación: Lima, Peru
Mensajes: 246
Antigüedad: 22 años
Puntos: 2
Re: No Recibo Nada ; Ajax

¿Porqué estás usando POST como método para tu objeto XHR? GET es la opción recomendada cuando el proceso no modificará tu modelo. También podrás eliminar la llamada a setRequestHeader. Pero vale, ese no es el problema.

¿Qué sucede si corres la aplicación PHP directamente? ¿Muestra en pantalla la respuesta que esperas?

Recuerda también comprobar ajax.status==200 y si es posible muestra, temporalmente, ese valor para que compruebes que Ajax está conectándose al url adecuadamente.

Saludos.
__________________
Alexis Bellido
  #4 (permalink)  
Antiguo 31/01/2007, 11:43
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: No Recibo Nada ; Ajax

verificar.php esta en la misma carpeta que lo demas
ya hize eso de Poner GET y lo que dice de poner ajax.status==200
  #5 (permalink)  
Antiguo 31/01/2007, 13:16
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: No Recibo Nada ; Ajax

loading............


si te suelta como dices el archivo.php entonces no esta siendo interpretado.
está entre

<?php
//blabla
?>

????



connection closed.
__________________

Maborak Technologies
  #6 (permalink)  
Antiguo 31/01/2007, 13:25
Avatar de ventanazul  
Fecha de Ingreso: noviembre-2002
Ubicación: Lima, Peru
Mensajes: 246
Antigüedad: 22 años
Puntos: 2
Re: No Recibo Nada ; Ajax

¿Y ya probaste ejecutando el archivo PHP directo desde tu navegador?
__________________
Alexis Bellido
  #7 (permalink)  
Antiguo 31/01/2007, 14:22
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: No Recibo Nada ; Ajax

ya lo probe el php directo habia un problemita pero aun no me manda nada.
  #8 (permalink)  
Antiguo 31/01/2007, 14:24
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: No Recibo Nada ; Ajax

si le faltaba <?php ?> ya lo puse y aun no manda nada
  #9 (permalink)  
Antiguo 01/02/2007, 14:57
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: No Recibo Nada ; Ajax

ya resolvi todo , utilize la libreria Prototype y es bastante facil usarla.

ultilize lo siguiente
Cita:
<form id="form" method="post" onsubmit="new Ajax.Updater('verifica', 'account.php', {asynchronous:true, evalScripts:true, onComplete:function(request){$('registro').innerHT ML = 'Listo...';}, onLoading:function(request){$('verifica').innerHTM L = 'Please wait! Verificando...';}, parameters:Form.serialize(this)}); return false;">
Form.serialize <---ultilize esto para recojer todos lo datos.

tambien lo pueden usar de esta forma
Cita:
function CheckEmail(){

var email = $F("email");

var url = "pruebraphp2.php";

//parámetros necesarios para Ajax.Updater

var params = "email="+email;

//envía datos por Ajax

var ajx = new Ajax.Updater("verificar2",

url,

{method:"post",

parameters:params}

);
}
se les haria muy largo si tienen una formulario como el mio que son diez campos. utilize esta forma para permitir al usuario si el email o usuario esta registrado ya en el BD
  #10 (permalink)  
Antiguo 01/02/2007, 15:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: No Recibo Nada ; Ajax

Pero lo que me sale mal ahora es que cuando mandado la imformacion del campo se registra bien la DB pero no manda una respuesda diciendo que todo salio bien como puse en el archivo del lado del servidor en php. aunque puse Oncomplete aun asi no aparece el mensaje que el archivo php mandar cuando salio todod bien o cuando no salio bien
  #11 (permalink)  
Antiguo 27/02/2007, 13:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: No Recibo Nada ; Ajax

Hola, a veces tengo el mismo problema que tu, pero con Firefox te puede ayudar a encontrar lo que esta pasando. Para ello es necesario que instales el firebug(lo puedes buscar en google). Cuando lo tengas instalado lo configuras para que funcione en modo debug. En la consola te aparece que peticiones estas realizando y que te regresando el servidor saludos.
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 13:22.