Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2010, 09:20
fvelazquez
 
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema con AJAX en Firefox y Opera

Buenos Días a Todos,

Estoy desarrollando una aplicación con Struts y Ajax y tengo problemas.

Por ejemplo estoy haciendo que cuando digiten el ID del Empleado vaya a consultar el Nombre del mismo por medio de AJAX. En Internet Explorer funciona de maravilla, pero a la hora de ejecutarlo en Firefox u Opera no funciona.

He puesto alerts para ver hasta donde llega y no se va al onreadystatechange, osea hasta el alert("Paso 4"). La petición al jsp funciona correctamente.

Si alguien me haría el favor de ayudarme, porque ya no se que hacer, llevo varios días en esto y nada.

A continuación les dejo el código

Código PHP:
Ver original
  1. <script type="text/javascript" language="javascript">
  2. var ajax;
  3. <%--
  4.     Este Script Valida que la Siembra esté activa.
  5. --%>
  6. function funcionCallback()
  7. {
  8.     // Comprobamos si la peticion se ha completado (estado 4)
  9.         //alert("Paso 5");
  10.     if( ajax.readyState == 4 )
  11.     {
  12.             //alert("Paso 6");
  13.         // Comprobamos si la respuesta ha sido correcta (resultado HTTP 200)
  14.         if( ajax.status == 200 )
  15.         {
  16.                     alert("Paso 7");
  17.             // Escribimos el resultado en la pagina HTML mediante DHTML
  18.             //document.all.PRUEBA.innerHTML = "<b>"+ajax.responseText+"</b>";
  19.                         $('USPNAM').value = ajax.responseText;
  20.                         //document.getElementByName("USPNAM").value = ajax.responseText;
  21.                         alert("Paso 8");
  22.         }
  23.     }
  24. }
  25.  
  26. function validarFolio()
  27. {
  28.     // Creamos el control XMLHttpRequest segun el navegador en el que estemos
  29.  
  30.         var xmlhttp=false;
  31.  
  32.     try {
  33.         xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
  34.                 //alert("Paso 1");
  35.     }
  36.     catch (e) {
  37.         try {
  38.             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  39.                         //alert("Paso 1.1");
  40.         }
  41.         catch (E) {
  42.             xmlhttp = false;
  43.                         //alert("Paso 1.2");
  44.         }
  45.     }
  46.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  47.         xmlhttp = new XMLHttpRequest();
  48.                 //alert("Paso 1.3");
  49.     }
  50.  
  51.     // Almacenamos en el control al funcion que se invocara cuando la peticion
  52.     // cambie de estado
  53.  
  54.         ajax = xmlhttp;
  55.     ajax.onreadystatechange = funcionCallback;
  56.         //alert("Paso 2");
  57.  
  58.     // Enviamos la peticion
  59.  
  60.        //alert("Paso 3");
  61.        ajax.open("POST", "validaFolio.jsp", false);
  62.        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
  63.        ajax.send("EMPNUM="+document.all.USPFOL.value);
  64.        //alert("Paso 4");
  65.  
  66. }
  67. </script>
  68.  
  69. </html>