Hola foreros, tengo una duda.
Estoy realizando una consulta a mi BD de la cual obtengo cadenas, que son en sí, las rutas de direcciones físicas en mi server. Son cerca de 10 mil cadenas diferentes, ya que cada una es la ruta de un archivo diferente.
Lo que necesito hacer es, enviar este vector mediante ajax, de mi página archivo.asp a proceso.asp. Ya puedo enviar una sola variable, pero necesito enviar el array, y lo trato de hacer de esta manera:
Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prueba Ajax</title>
<%
<script language="javascript" type="text/javascript">`
function handleHttpResponse()
{
if (http.readyState == 4)
{
if (http.status == 200)
{
if (http.responseText.indexOf('invalid') == -1)
{
// Armamos un array, usando la coma para separar elementos
results = http.responseText.split(",");
document.getElementById("campoMensaje").innerHTML = results[0];
enProceso = false;
}
}
}
}
function verificaUsuario()
{
if (!enProceso && http)
{
var valor = escape(document.getElementById("arreg(i)").value);
var url = "proceso.asp?arreg(i)="+ valor;
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>
Ors.open "SELECT TOP 10 A.Id, A.Archivo FROM C_MATERIAL A LEFT JOIN C_CURSOS B ON (A.id = B.id) WHERE (YEAR(A.fechainicio) >= 2009) AND A.Id NOT IN (Select Id_Archivo From X_Respaldo) GROUP BY A.Id, Archivo ORDER BY Archivo", Conn
Do While not Ors.eof
nombre_carpeta = Ors("Archivo")
Redim arreg(10000)
for i=0 to Ors.eof
arreg(i) = nombre_carpeta
Next
%>
<form method="post" >
<input type="hidden" name="arreg(i)" id="arreg(i)" value="<%=arreg(i)%>" >
</form>
<div id="campoMensaje"></div>
<%
Ors.movenext
Loop
Ors.Close
set fs=nothing
%>
</body>
</html>
<SCRIPT>
verificaUsuario();
</SCRIPT>
y en mi página de proceso la recibo de esta manera:
Código HTML:
nombre_carpeta = request.querystring("nombre_carpeta")
y ya sigo con un proceso de la cadena.... pero con el array, a pesar de que no marca error, no hace nada.
¿Alguién sabe cómo puedo hacerle para que mande el array?
Gracias de antemano