Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 08-abr-2008, 17:59   #1 (permalink)
Carol_84 no se puede cailificar en este momento
 
Fecha de Ingreso: septiembre-2007
Mensajes: 194
Exclamación Donde está el error al recibir los datos con AJAX?

Hola:
Me pasa una cosa, muy rara y no doy con el fallo.
Lo que estoy haciendo es validar si el nombre que introduce un usuario se encuentra en la base de datos ó no.
Pues bien, lo mando a traves de AJAX:
Cita:
function compUsuario(dataSource,valor) {
var DivDestino = document.getElementById("DivDestino");
ajax3=objetoAjax();
ajax3.open("POST", dataSource,true);
ajax3.onreadystatechange = function(){
if (ajax3.readyState == 4 && ajax3.status == 200){
alert(ajax3.responseText);
if(ajax3.responseText=="registrado"){
alert('ROJO');
DivDestino.innerHTML = "<img src='../../img/error.gif'><span style='color:red;'>"+ajax3.responseText+"</span>";
}else{
alert('AZUL');
DivDestino.innerHTML = "<span style='color:blue;'>"+ajax3.responseText+"</span>";
}
}
}
ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax3.send(valor);
}
.

El problema que tengo es que el "alert(ajax3.responseText);" me sale con el mensaje bien dependiendo de si está o no el nombre en la BD, pero SIEMPRE me aparece el mensaje de "AZUL", es decir que siempre se ejecuta la rama del ELSE.
¿ALguien sabe que cosa más rara me está pasando...?
Gracias!!!
Carol_84 está desconectado   Responder Citando
Antiguo 08-abr-2008, 20:49   #2 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.280
Re: Donde está el error al recibir los datos con AJAX?

Hola Carol_84,

Revisa que no tengas espacios en blanco al principio o al final de la cadena, ya que pueden ser los causantes de que se vaya por el else.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 09-abr-2008, 06:34   #3 (permalink)
Carol_84 no se puede cailificar en este momento
 
Fecha de Ingreso: septiembre-2007
Mensajes: 194
Triste Re: Donde está el error al recibir los datos con AJAX?

Hola!! Esto es un quebradero de cabeza......
Sigo igual. Mirar para mandar los dato del inpur pongo:
Cita:
<tr>
<td> Titulos premio/beca</td>
<td><input size="40" name = "titulo" id="titulo" type = "text" onchange="compUsuario('addbeca.php','nuevo='+this. value)"></td>
</tr>
<tr><td><td><div id="DivDestino"></div></td></td></tr>
Mi función AJAX es:

Cita:
function compUsuario(dataSource,valor){
var DivDestino = document.getElementById('DivDestino');
ajaxotro=objetoAjax();
ajaxotro.open("POST", dataSource,true);
ajaxotro.onreadystatechange = function(){
if (ajaxotro.readyState == 4 && ajaxotro.status == 200) {
alert(ajaxotro.responseText);
if (ajaxotro.responseText=="ok"){
alert('uu');
DivDestino.innerHTML = "<img src='../../img/error.gif '><span style='color:red;'>"+'Beca/Premio ya registrado'+"</span>";
alert(DivDestino.innerHTML);
}else{alert('adios');
}
}
}
ajaxotro.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajaxotro.send(valor);
}

Y el fichero addbeca.php es:


Cita:
<?php
session_start();
include ("../../conn.inc.php");
$nuevo= $_POST['nuevo'];
if(trim($nuevo)!=''){
$consulta= "SELECT * FROM nombres WHERE titulo= '".$nuevo."';";
$resultado= mysql_query($consulta,$con) or die(mysql_error());
if(mysql_num_rows($resultado)!= 0)
echo "ok";
else
echo "mal";
}
?>

El problema que tengo es que siempre me sale el mensaje de adios....¿Alquien puede ayudarme...?
Carol_84 está desconectado   Responder Citando
Antiguo 09-abr-2008, 08:00   #4 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.280
Re: Donde está el error al recibir los datos con AJAX?

Prueba hacerlo así:
Código PHP:
<?php
session_start
();
header"Content-type: text/plain" ); // agregue esta línea
include ("../../conn.inc.php");
$nuevo$_POST['nuevo'];
if(
trim($nuevo)!=''){
$consulta"SELECT * FROM nombres WHERE titulo= '".$nuevo."';";
$resultadomysql_query($consulta,$con) or die(mysql_error());
if(
mysql_num_rows($resultado)!= 0)
echo 
"ok";
else
echo 
"mal";
} else {
     echo 
"no se envio un valor"// también esto para que revises con un alert la respuesta
}
?>
Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 09-abr-2008, 08:28   #5 (permalink)
Carol_84 no se puede cailificar en este momento
 
Fecha de Ingreso: septiembre-2007
Mensajes: 194
Cool Re: Donde está el error al recibir los datos con AJAX?

Hola GatorV!!!
MUchííísmias gracias, porque tan solo he puesto header( "Content-type: text/plain" ); y me ha funcionado prefectamente!!!
Gracias!!!!
Carol_84 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:50.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93