Foros del Web » Programando para Internet » Javascript »

variable http javascript imposible de procesar

Estas en el tema de variable http javascript imposible de procesar en el foro de Javascript en Foros del Web. Hola que tal a todos, a ver que tal este nuevo desafio: Tengo un archivo php donde evaluo si un registro existe en la base ...
  #1 (permalink)  
Antiguo 13/01/2013, 07:18
 
Fecha de Ingreso: mayo-2012
Ubicación: Aitona
Mensajes: 20
Antigüedad: 11 años, 10 meses
Puntos: 0
variable http javascript imposible de procesar

Hola que tal a todos, a ver que tal este nuevo desafio:
Tengo un archivo php donde evaluo si un registro existe en la base de datos, si existe me devuelve un "si" i si no pues un "no"
Entonces un arhivo de funciones.js recibe este "si" o "no" con el còdigo
Código:
 var http=miPeticion.responseText;
y cuando intento procesar esta variable http on un select case, no hay manera de que, detecte que es un "si" o un "no", siempre me devuelve la última opción "ningun resultado válido"!!
he tratado de procesar la variable http, convertirla en texto con String(http), eliminar los espacios con alguna función però no hay manera!!
Alguien me podría orientar un poco
el archivo php que comprueba si existe el registro en la base de datos es el siguiente(en este caso estoy procesando editoriales)
Código:
mysql_select_db($database_conexio_biblioteca, $conexio_biblioteca);
$query_editoexist = "SELECT * FROM editorial where Editorial='".$HTTP_GET_VARS["id"]."'";
$editoexist = mysql_query($query_editoexist, $conexio_biblioteca) or die(mysql_error());
$row_editoexist = mysql_fetch_assoc($editoexist);
$totalRows_editoexist = mysql_num_rows($editoexist);
?>
<?php

sleep(2);

if (mysql_num_rows($editoexist)==0)
{
	echo "no";
}else
{
	echo "si";
}
?>
Aquí tengo el fichero de funciones.js
La función from_ed recibe tres parámetros que ya he comprovado y funciona correctamente, el problema esta con la variable http
Código:
function from_ed(id,ide,url){
		
		alert(id);
		var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
		var vinculo=url+"?id="+id+"&rand="+mi_aleatorio;
		alert(vinculo);
		
		miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
		miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
               if (miPeticion.readyState==4)
               {
                       if (miPeticion.status==200)
                       {
							   var http=miPeticion.responseText;
											
							//   alert (http);
							   
						
   switch (http) {
    case "si":
       document.getElementById(ide).innerHTML="<font color='red'>editorial "+id+" ya existente</font>";  
       break
    case "no":
       document.getElementById(ide).innerHTML="<font color='green'>editorial no existente </font>"; 	
       break
	 default:
       document.getElementById(ide).innerHTML="<font color='red'>ningun resultado valido</font>";  

							  						  
							   
                       }
				   }else{
					   //document.getElementById('resultados').style.display="block";
				   	document.getElementById(ide).innerHTML="<img src='../images/loading.gif' title='carregant...' />";
               }
       }
       miPeticion.send(null);
		
}
Muchas gracias por todo, estoy aprendiendo mucho con este foro, y pasando muchas horas intentado programar, claro!!
  #2 (permalink)  
Antiguo 13/01/2013, 13:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: variable http javascript imposible de procesar

Vamos con el mySql

Código PHP:
Ver original
  1. // si hacés una consulta
  2. $consulta = "SELECT id, fecha, nombre, factura  FROM msm WHERE ... condición";
  3. // y la ejecutás
  4. $ejecutar = mysql_query($consulta);
  5. // obtendrás un numero de resultados (0 en caso de que no halla coincidencias)
  6. $resultados = mysql_num_rows($ejecutar);
  7.  
  8. //entonces
  9. if($resultados > 0){
  10. echo "si";
  11. exit; // salís del php no hace más falta nada para el response.text de ajax
  12. }else{
  13. echo "no";
  14. }

En todo caso revisá si tu consulta está correctamente hecha

Y no olvides que
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

mysqli_stmt_num_rows()
PDOStatement::rowCount()





Sobre tu javascript, como no sé como creas el objeto Ajax ni como llamás la función, no tiene mucho sentido analizarla por ahora

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 16/01/2013, 12:24
 
Fecha de Ingreso: mayo-2012
Ubicación: Aitona
Mensajes: 20
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: variable http javascript imposible de procesar

Hola a todos, ymuchas gracias emprear, por la pronta contesta, después de revisar mi código varias veces me di cuenta que el problema venia del servidor donde tengo ubicada la pàgina [URL="http://members.000webhost.com/login.php"]000webhost[/URL] pues en el local con localhost el código me funcionava correctamente así que hice estas dos cosas
1.- desactivar las estadísticas del webhost, ya que si no me enviaba un mensaje suplementario al i al si” o “no” tal como este

<!-- www.000webhost.com Analytics Code --><script type= - 02-04-2010, 06:42 AM

[URL="http://www.000webhost.com/forum/spanish-forum/15891-como-puedo-quitar-este-codigo-www-000webhost-com-analytics-code-script-type.html"]Aquí esta explicado como hacerlo[/URL]

2.- Una vez esto esta desactivado aún sigue enviado más texto extra, así que el siguiente paso fué filtrar lo que me llega con el response.text de ajax, con el siguiente código, para asegurarme de que solo quede el "si"


Código Javascript:
Ver original
  1. var texto = "si";                    
  2.  
  3. if (http.indexOf(texto) != -1)

I ahora si que podría hacer la comparación correctamente!!

Muchas gracias por todo

Etiquetas: Ninguno
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 15:34.