Tengo mucho que no escribo en los foros, pero volví porque necesito una ayudita con AJAX. Estoy desarrollando una WEB y me esta presentando este inconveniente.
Cuando llamo una funcion en Ajax.js, este se me ejecuta perfectamente, le mostrare una partesita del Ajax.js
Código:
Donde getXMLHTTPRequest() esta dentro tambien del ajax.js y es de esta manera esa funcionvar myRequest = getXMLHTTPRequest(); function abrirScript(url){ myRequest.open("GET", url, true); myRequest.onreadystatechange = function(){ if(myRequest.readyState == 4) { if(myRequest.status == 200) { document.getElementById('script').innerHTML = '<div style="overflow:visible; position:absolute; width:100%; height:100%; top:0; left:0;" align="center">'+myRequest.responseText+'</div>'; } else { alert("An error has occurred: "+ myRequest.statusText); } } } myRequest.send(null); } function cerrarAdd(qtype){ document.getElementById('script').innerHTML=''; location.href=".?qtype="+qtype+"&close=yes"; }
Código:
Esto esta supuesto a funcionarme muy bien y lo hace muy bien pero aqui viene mi pregunta.function getXMLHTTPRequest() { var request = false; try { request = new XMLHttpRequest(); /* e.g. Firefox */ } catch(err1) { try { vrequest = new ActiveXObject("Msxml2.XMLHTTP"); /* some versions IE */ } catch(err2) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); /* some versions IE */ } catch(err3) { request = false; } } } return request; }
Cuando ejecuto la funcion abrirScript('url');, esta se me ejecuta sin ningun problema y me pone mi ventanita encima de todo muy bien, en esta ventanita tengo un boton llmado CERRAR el cual cuando le dan click ejecuta la funcion cerrarAdd y tambien funciona perfectamente.
El inconveniente esta cuando vuelvo a llamar la funcion abrirScript('url'), el Internet Explorer 8 me arroja el siguiente error:
Cita:
Pero si sigo navegando en la web dentro de mi misma web, hay veces que vuelve a funcionar y no se el porque no funciona.Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
Timestamp: Thu, 25 Mar 2010 20:45:35 UTC
Message: 'document.getElementById(...)' is null or not an object
Line: 41
Char: 3
Code: 0
URI: http://xxxxx/xxxxx/scripts/ajax.js
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
Timestamp: Thu, 25 Mar 2010 20:45:35 UTC
Message: 'document.getElementById(...)' is null or not an object
Line: 41
Char: 3
Code: 0
URI: http://xxxxx/xxxxx/scripts/ajax.js
Como nota adicional la Linea 41 esta dentro de la funcion
Cita:
Espero haber sido lo bastante claro, este error no me pasa ni en Mozilla ni en Chrome, pero necesito que funcione perfecto en el Internet Explorer....
40. if(myRequest.status == 200) {
41. document.getElementById('script').innerHTML = '<div style="overflow:visible; position:absolute; width:100%; height:100%; top:0; left:0;" align="center">'+myRequest.responseText+'</div>';
42. } else {
....
40. if(myRequest.status == 200) {
41. document.getElementById('script').innerHTML = '<div style="overflow:visible; position:absolute; width:100%; height:100%; top:0; left:0;" align="center">'+myRequest.responseText+'</div>';
42. } else {
....
Gracias de antemano
NOTA: Tengo un <div id='script'></div> en la pagina que utilizo estas funciones.