Ahora tengo un problema "multiplataforma", y lo detallo para darme a entender mejor:
Tengo una aplicación en asp que me genera una serie de cadenas desde una consulta sql server. Está consulta me trae n cadenas que proceso en una función y obtengo un resultado por cada una de las cadenas obtenidas.
Ahora bien, lo que me está haciendo ruido, es que esas cadenas debo enviarlas mediante ajax a una página en dónde tengo la función que las procesa y el resultado lo voy a imprimir en una serie de DIV´s en mi página principal. Lo que sucede es que al generar las cadenas, las pongo en una variable "nombre_carpeta" (la cual puede traer n cadenas), y trato de enviarlas, pero al retornar el resultado, descubro que sólo me toma la primer cadena generada. Anexo el código:
Código:
y envio con la siguiente función:Set Conn = Server.CreateObject("ADODB.Connection") Set Ors = Server.CreateObject("ADODB.Recordset") Set Ins = Server.CreateObject("ADODB.Recordset") Conn.open = "DSN=cnx;UID=javier;PWD=manzano;DATABASE=EDUC06K" Ors.open "Select... From.. Where...", Conn Do While not Ors.eof 'nombre_carpeta = Ors("Archivo") nm = Ors("Archivo") nombre_carpeta = nombre_carpeta & nm & "," & "<br />" nm = "" cantidad = Ors("Cantidad") r = r + cantidad %> <form action='post'> <input type='hidden' name='nombre_carpeta' id='nombre_carpeta' value="<%=nombre_carpeta%>" /> </form> <% Ors.movenext Loop Ors.Close set fs=nothing for i=0 to (r-1) response.Write("<div id='campoMensaje"&i&"' align='center'></div>") Next
Código:
<script> verificaUsuario() </script>
Código:
¿Alguién tiene una ídea de cómo puedo hacerlo? <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]; for(var cont=0; cont<=9; cont++) { document.getElementById("campoMensaje"+cont.toString()).innerHTML = results[cont]; } enProceso = false; } } } } function verificaUsuario() { if (!enProceso && http) { var valor = escape(document.getElementById("nombre_carpeta").value); var url = "consulta.asp?nombre_carpeta="+ valor; //top.document.write(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>