Foros del Web » Programando para Internet » Javascript »

Mi primer AJAX, no funciona!

Estas en el tema de Mi primer AJAX, no funciona! en el foro de Javascript en Foros del Web. Hola! Estoy siguiendo una guía de Ajax, he hecho mi primer script como decía la guía pero al hacer submit no sucede nada, le he ...
  #1 (permalink)  
Antiguo 08/05/2014, 04:17
 
Fecha de Ingreso: abril-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Mi primer AJAX, no funciona!

Hola! Estoy siguiendo una guía de Ajax, he hecho mi primer script como decía la guía pero al hacer submit no sucede nada, le he dado mil vueltas y no veo el fallo.. os dejo los scripts:

display.htm:
Código:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<frameset rows="100%,0" frameborder="0">
	<frame name="displayFrame" src="display2.htm" noresize="noresize">
    <frame name="hiddenFrame" src="about:blank" noresize="noresize">
</frameset>
<body>
<div id="divCustomerInfo"></div>
</body>
</html>
display2.hym:
Código:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
	function requestCustomerInfo(){
		var sId = document.getElementById("txtCustomerId").value;
		top.frames["hiddenFrame"].location = "getCustomerdata.php?id=" + sId;
	}
	function displayCustomerInfo(sText){
		var divCustomerInfo = document.getElementById("divCustomerInfo");
		divCustomerInfo.innerHTML = sText;
	}
</script>
</head>
<body>
<p>Enter customer ID number:</p>
<p>Customer id: <input type="text" id="txtCustomerId" value=""/></p>
<p><input type="button" value="Get customer Info" onClick="requestCustomerInfo()"/></p>
</body>
</html>
getCustomerdata.php:
Código:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
window.onload = function(){
	var divInfoToReturn = document.getElementById("divInfoToReturn");
	top.frames["displayFrame"].displayCustomerInfo(divInfoToReturn.innerHTML);
}
</script>
<title>Untitled Document</title>
<?php
include("start.php");
$sID = $_GET["id"];
$sInfo = "";
$squery = "SELECT * FROM Customers WHERE CustomerId=".$sID;
if($oResult = mysql_query($sQuery) and mysql_num_rows($oResult) > 0){
	$aValues = mysql_fetch_array($oResult,MYSQL_ASSOC);
	$sInfo = $avalues["Name"]."<br/>".$aValues["Address"]."<br/>";
} else
{
	$sInfo = "Customer with ID $sID no existe";
}
?>
</head>

<body>
	<div id="divInfoToReturn"><?php echo $sInfo; ?></div>
</body>
</html>
Un saludo y gracias!
  #2 (permalink)  
Antiguo 08/05/2014, 09:19
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristóbal
Mensajes: 18
Antigüedad: 10 años
Puntos: 1
Respuesta: Mi primer AJAX, no funciona!

es posible que no te funcione el ajax porque no veo la cadena de conexion con la base de datos.

tienes un pequeño error en $sInfo = $avalues["Name"]."<br/>".$aValues["Address"]."<br/>";


debería ser $sInfo = $aValues["Name"]."<br/>".$aValues["Address"]."<br/>";

Última edición por m_acero_n; 08/05/2014 a las 09:24 Razón: falto acotar dato
  #3 (permalink)  
Antiguo 08/05/2014, 09:28
 
Fecha de Ingreso: abril-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: Mi primer AJAX, no funciona!

Gracias por la respuesta! Pero el fallo no parece estar en la conexión con la BD, ya que si ejecuto el .php con un id que no existe en la BD, por ejemplo getCustomerdata.php?id=8 este imprime en pantalla "Customer with ID 8 no existe" pero poniendo 8 a través de display.htm (con el ajax) no sucede nada, y debería imprimir ese mismo mensaje..
  #4 (permalink)  
Antiguo 08/05/2014, 09:37
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristóbal
Mensajes: 18
Antigüedad: 10 años
Puntos: 1
Respuesta: Mi primer AJAX, no funciona!

Cita:
Iniciado por ecazorla Ver Mensaje
Gracias por la respuesta! Pero el fallo no parece estar en la conexión con la BD, ya que si ejecuto el .php con un id que no existe en la BD, por ejemplo getCustomerdata.php?id=8 este imprime en pantalla "Customer with ID 8 no existe" pero poniendo 8 a través de display.htm (con el ajax) no sucede nada, y debería imprimir ese mismo mensaje..
verificaste el error que tienes en la variable de php
$aValues["Name"], tu la tienes toda en minúscula y debería ser una V, eso también te puede echar a perder la respuesta ajax
  #5 (permalink)  
Antiguo 08/05/2014, 09:44
 
Fecha de Ingreso: abril-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: Mi primer AJAX, no funciona!

Sip, lo verifiqué

Etiquetas: ajax, html, input, php, primer, 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 03:27.