También otras veces logro ver que manda un error 1029 y no muestra la página. Pero todo esto sólo sucede en la aplicación que usa Ajax (XMLHttpRequest). Por que hay otra página en el mismo servidor que no presenta ese problema, y si lo llega a presentar creó que nadie se queja.
Solo quisiera saber como evitar este problema.
Código HTML:
function nuevoAjax() { var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } } } return xmlhttp; } function parte(url,divid) { var peticion = nuevoAjax(); url = url+"&ms="+new Date().getTime(); var obj = document.getElementById(divid); var loader = document.getElementById("loading"); peticion.open("GET", url); peticion.onreadystatechange = function() { cargando(); if (peticion.readyState == 4) { if (peticion.status == 200) { txt=unescape(peticion.responseText); obj.innerHTML = txt; terminado(); } else { estado(peticion.status); cargando(); } } } peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1'); peticion.send(null); }
Como pueden ver no uso otra cosa del otro mundo... lo único que cambia es que es lo que pide... puede ser toda una página o solamente llenar un Select o un Input.
Les agradecería bastante el que me digan como puedo evitar que "se cuelgue" o "que marque error" o "que no cargue los datos"... así como antes de mostrar los datos, preguntar si hubo algún detalle, y en tal caso volver a tratar... ahorita mismo se me ocurrió una, pero no se como vaya a afectar:
Código HTML:
function parte(url,divid) { var peticion = nuevoAjax(); url = url+"&ms="+new Date().getTime(); var obj = document.getElementById(divid); var loader = document.getElementById("loading"); peticion.open("GET", url); peticion.onreadystatechange = function() { cargando(); if (peticion.readyState == 4) { if (peticion.status == 200) { txt=unescape(peticion.responseText); obj.innerHTML = txt; terminado(); } elseif (peticion.status == 1029) { parte(url,divid); // Aqui vuelvo a llamar, pero el problema viene cuando de verdad sea un error malo... o algo por el estilo... tal vez solo lo ponga para el 1029... así como lo deje ahorita } else { estado(peticion.status); cargando(); } } } peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1'); peticion.send(null); }