Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/08/2014, 14:39
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: ejecutar procedimiento almacenado

La idea de usar Ajax es realizar una petición asíncrona a un archivo en el lado del servidor y que esta nos devuelva una respuesta a dicha petición con la cual realizaremos determinadas acciones. Para empezar, debes de tener tu función Ajax aunque podrías hacer esto por cada vez que requieras hacer una petición asíncrona, pero teniendo todo el proceso en una función, puedes reutilizar el código.

Código Javascript:
Ver original
  1. var ajax = function(url){
  2.     var xhr = window.XMLHttpRequest ?
  3.               new XMLHttpRequest() :
  4.               new ActiveXObject("Microsoft.XMLHTTP") ||
  5.               new ActiveXObject("Msxml2.XMLHTTP");
  6.  
  7.     xhr.open("GET", url, true);
  8.     xhr.onreadystatechange = function(){
  9.         if (xhr.readyState == 4){
  10.             switch (xhr.status){
  11.                 case 200:
  12.                     var respuesta = xhr.responseText;
  13.                     //Aquí realizarás las acciones que desees con la respuesta
  14.                     break;
  15.  
  16.                 case 404:
  17.                     alert("Error 404 not found");
  18.                     break;
  19.  
  20.                 default:
  21.                     alert("Se ha producido un error: " + xhr.status);
  22.                     break;
  23.             }
  24.         }
  25.     };
  26.     xhr.send(null);
  27. };
  28.  
  29. ajax("ejemplo.jsp");

Lo primero que hago es declarar a la función Ajax, la cual recibe como parámetro a la variable url que deberá de contener el nombre del archivo al que queremos realizar la petición. Dentro de la función, creo mi objeto XHR, abro la petición y cuando cambie el estado de la misma, realizo determinadas acciones. Como no estamos enviando datos para realizar la petición, al método send le damos null como argumento, aunque también podrías dejar en blanco el interior de los paréntesis. Cuando el estado de carga de la petición sea 4, sabremos que ya obtuvimos una respuesta del servidor (carga completa). Luego, esta respuesta puede tener uno de varios estados, el más importante es el estado 200 el cual indica que la respuesta ha sido satisfactoria, mientras que los otros estados indican errores que se produjeron. Cuando obtengamos dicho estado (200), ya podremos realizar las acciones que deseemos con dicha respuesta, para lo cual, en tu archivo JSP deberás de imprimir una respuesta a la petición, por ejemplo, listar los registros encontrados en la BD, luego, eso podrías colocarlo dentro de un <div> o en donde desees.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand