Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/06/2010, 05:11
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: ¿Cómo enviar un array mediante ajax?

Hola

Si que funciona. El problema lo tienes en el ASP.

Revisa en el Firebug esté ejemplo que está basado en lo que te ocupa, verás como se envía

Código Javascript:
Ver original
  1. <&#37;@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Prueba Ajax</title>
  7.  
  8. <script language="javascript" type="text/javascript">
  9. function handleHttpResponse() {
  10.     if (http.readyState == 4) {
  11.        if (http.status == 200) {
  12.           if (http.responseText.indexOf('invalid') == -1) {
  13.              // Armamos un array, usando la coma para separar elementos
  14.              results = http.responseText.split(",");
  15.              document.getElementById("campoMensaje").innerHTML = results[0];
  16.              enProceso = false;
  17.           }
  18.        }
  19.     }
  20. }
  21.  
  22. function verificaUsuario()
  23. {
  24.     if (!enProceso && http)
  25.     {
  26.         elemento = 'arreg[]';
  27.         frm = document.formulario;
  28.         valor = new Array();
  29.         for (var i = 0, total = frm[elemento].length; i < total; i++)
  30.         {
  31.             valor[valor.length] = escape(frm[elemento][i].value);
  32.         }
  33.        
  34.         var url = "consulta.asp?nombre_carpeta="+ valor.join(",");
  35.         http.open("GET", url, true);
  36.         http.onreadystatechange = handleHttpResponse;
  37.         enProceso = true;
  38.         http.send(null);
  39.     }
  40. }
  41.  
  42. function getHTTPObject() {
  43.     var xmlhttp;
  44.     /*@cc_on
  45.     @if (@_jscript_version >= 5)
  46.        try {
  47.           xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  48.        } catch (e) {
  49.           try {
  50.              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  51.           } catch (E) { xmlhttp = false; }
  52.        }
  53.     @else
  54.     xmlhttp = false;
  55.     @end @*/
  56.     if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  57.        try {
  58.           xmlhttp = new XMLHttpRequest();
  59.        } catch (e) { xmlhttp = false; }
  60.     }
  61.     return xmlhttp;
  62. }
  63.  
  64. var enProceso = false; // lo usamos para ver si hay un proceso activo
  65. var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest
  66.  
  67. </script>
  68. </head>
  69.  
  70. <body>
  71. <form action="post" name="formulario">
  72.  
  73.         <input type="text" name="arreg[]" id="arreg[]" value="1"><br />
  74.   <input type="text" name="arreg[]" id="arreg[]" value="2"><br />
  75.   <input type="text" name="arreg[]" id="arreg[]" value="3"><br />
  76.   <input type="text" name="arreg[]" id="arreg[]" value="4"><br />
  77.   <input type="text" name="arreg[]" id="arreg[]" value="5"><br />
  78.   <input type="text" name="arreg[]" id="arreg[]" value="6"><br />
  79.         <INPUT type="Button" value="Verificar si existe" onclick="verificaUsuario();">
  80.        
  81. </form>
  82. <div id="campoMensaje"></div>
  83. </body>
  84. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />