Lo que pasa con el Response.flush es que obliga al servidor a enviar lo que tiene cargado en el cache, esto no me sirve ya que si quiero mostrar una pagina completa (header-body-footer) no lo hace ya que no tiene todo cargado. Aqui te muestro la pagina principal, como veras tiene implementado el objeto XMLHTTPRequest, al cargarse la pagina llama a la funcion que hace la peticion a la pagina que realiza la consulta y exportacion a excel mientras muestra el mensaje con un gif de espera. Una vez realizada la exportcion (que no la hace) me redirecciona a otra pagina que contiene un mensaje que le avisa al usuario que el proceso finalizo. El problema para mi esta en que al no devolver nada ni en los header o en la URL el objeto XMLHTTPRequest interpreta como que no sucedio nada. Aqui el codigo:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>INDEX</title>
<script language="javascript" type="text/javascript">
function handleHttpResponse() {
if (http.readyState == 4) { // completado
if (http.status == 200) { // OK
location.href='fin.asp'
enProceso = false;
}
}
}
function realizaConsulta() {
if (!enProceso && http) {
var url = "excel.asp";
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
enProceso = true;
http.send(null);
}
}
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) { xmlhttp = false; }
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) { xmlhttp = false; }
}
return xmlhttp;
}
var enProceso = false; // lo usamos para ver si hay un proceso activo
var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest
</script>
</head>
<body onLoad="realizaConsulta()">
<div id="contenedor">
<div id="cabecera">
<img src="images/header_internet.jpg" width="775" height="128">
</div>
<div id="cargando">
<p>Procesando datos. Por favor espere...</p>
<img src="images/loading.gif">
</div>
<div id="pie">Copyright © 2008</div>
</div>
</body>
</html>