en Tecnoticias
en google
Inicie Sesión





¿Recuperar clave?
¿Quiere registrarse? Regístrese aquí
Quien está en Linea
Hay 2 invitados en línea
Suscripcion RSS
Adsense de Google
XHTML Validator
Valid XHTML 1.0 Transitional
Cotizaciones
DolarHoy
Las más leídas
Ultimas Noticias
Home arrow Tips arrow Javascript arrow AJAX - Ejemplo de un POST a un archivo .php en el servidor
AJAX - Ejemplo de un POST a un archivo .php en el servidor PDF Imprimir E-Mail
Origen: BR Consulting Dev Team   
viernes, 16 de septiembre de 2005

A veces es útil hacer un POST y obtener datos de un servidor vía Javascript sin recargar la página. De esto trata la llamada tecnología AJAX, y en este pequeño ejemplo se hace un POST y un parseo de la respuesta en javascript (38 líneas de código con comentarios y muchos espacios).

function enviar(){
	 /* Chequeo por conexiones previas existentes, en ese caso las aborto */ 
	if (requester!= null && requester.readyState != 0 && requester.readyState!= 4)
	   requester.abort();
	// Creo el objeto requester
	try { 
		requester = new XMLHttpRequest(); 
	} catch (error) { 
		try { // Estoy en IE
			requester = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (error) { 
			requester = null; 
			alert('Navegador no soportado'); // Navegador no soportado
	  }
	}
	var post = 'clave=valor&clave=valor';
	// Le digo que en cada cambio de 'estado' de la conexión, llame a la función checkResults
	requester.onreadystatechange = checkResults;
	requester.open("POST", "accion.php"); 
	requester.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	requester.send(post);
}

function checkResults() {
	/* If el objeto terminó de hacer el post y cerro la conexión  */ 
	if (requester.readyState == 4) { 
	/* Si los datos fueron enviados/recibidos exitosamente - IE a veces devuelve 0 en vez de 200 */
		if ((requester.status == 200) || (requester.status == 0)) {
			// Parseo la respuesta
			if (requester.responseText == 'OK')
				alert("La acción se ejecutó correctamente");
			else {
				alert("Ocurrió un error al ejecutar la acción");
			}
		} else {
			alert("Hubo un error al conectarse a la URL : " + requester.responseText);
		}
	}
}
 
Siguiente >
Condiciones de Uso - © 2007 Tecnoticias.info