|
AJAX - Ejemplo de un POST a un archivo .php en el servidor |
|
|
|
|
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);
}
}
}
|