Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2012, 11:08
astorga_as
 
Fecha de Ingreso: mayo-2012
Mensajes: 5
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Error con el servidor en AJAX, utilizando el WAMP

Saludos Comunidad;

Soy un principiante y estoy haciendo tutoriales de AJAX como conocía un poco Javascript intento adentrarme en él y utilizo el WAMPSERVER 2.0 como localhost(servidor) para probar.

Hasta ahora no tenia problemas en ejecutarlos, pero cuando intento hacer este ejemplo o tutorial que saque de un libro de anaya no me funciona, ya que me sale la petición como servidor no encontrado, o sea el típico error 404. ¿Puede ser porque en el Wamp Server aunque me aparezca el icono en verde, el tooltip me aparece Servidor desactivado?, o ¿Es que hay un error en el código o de configuración que no acierto a entender? , porque no creo que vayan a publicar la prestigiosa editorial un gazapo de esas características, ¿Que puede estar mal?
¿Podeís probarlo alguno de vosotros en algun server, o servidor local?, con eso me ayudariaís bastante, ya que el código lo comprendo bien y no le veo fallos.

El código de que lleva la hora que solicita la peticion del servidor:

llamahoraXML.php
Código:
<?php
	header('Content-Type: text/xml');
	echo "<?xml version=\"1.0\" ?><clock1><timenow>".date('H:i:s')."</timenow></clock>";
?>
Aqui adjunto el código del 1º archivo el PHP:
ajaxdemo.php

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demostración Ajax</title>
<style>
.displaybox {
width:150px;
background-color:#ffffff;
color:#009900;
border:2px solid #000000;
padding:10px;
font:Verdana, Arial, Helvetica, sans-serif;
font-size:24px;
font-style:normal;
}
</style>
<script language="javascript" type="text/javascript">
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
		
	}
	catch(e)
	{
		try
		{
			// Creacion del objeto AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
			
		}
	}
	return xmlhttp; 
}
var http = nuevoAjax();
function conseguirhora()
{
	var miurl = 'dimehora.php'; // direccion del archivo php manejador del evento
	// genera un numero aleatorio a través de la función random del objeto Math de Javascript para evitar problemas a la cache
	var aleatorio = parseInt(Math.random()*99999999);
	var modurl = miurl + "?aleatorio=" + aleatorio; // direccion url que se pasa ya modificada con el numero aleatorio
	http.open("GET", modurl, true);
	//prepara una función de respuestaAjax() para ejecutar para cuando llegue la respuesta
	http.onreadystatechange = respuestaAjax;
	// y finalmente se envía la petición
	http.send(null);
}

function respuestaAjax()
{
	// solo me interesa el estado (Completada) de la propiedad readyState , es decir =4
	if(http.readyState == 4)
	{
		// si la respuesta del servidor (HTTP) es "OK", es decir = 200
		if (http.status == 200)
		{
			//sentencias
			var valorhora = http.responseXML.getElementsByTagName("timenow")[0]; // se carga en la propiedad responseXML de nuestro objeto Ajax el fichero XML de llamahora, es decir la hora del servidor que se pide mediante la funcion date de PHP, seleccionamos el elemento <timenow> de los datos XML que almacenamos en valorhora
			document.getElementById("showtime").innerHTML = valorhora.childNodes[0].nodeValue;  // escribir en el div  de id = showtime el valor de valor hora
			
		}
		else
		{
			//mostrar un mensaje de error para cualquier otra respuesta HTTP
			alert("Se ha producido un error en la respuesta del Servidor: " + "Error:" + http.status+ " "+ http.statusText);
		}
	}
}
	
</script>
</head>
<body style="background-color:#cccccc;text-align:center" onLoad="conseguirhora()">
<center>
<h1>Demostración Ajax</h1>
<h2>Obtiene la hora del servidor sin actualizar la página</h2>
<form>
<input type="button" value="Obtener la hora del servidor" onClick="conseguirhora()">
</form>
<div id="showtime" class="displaybox"></div>
</center>
</body>
</html>
y aqui el php que lleva la hora que solicita la petcion del servidor:

llamahoraXML.php