Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Como minimizar el envio de datos con xmlhttp.open

Estas en el tema de Como minimizar el envio de datos con xmlhttp.open en el foro de Frameworks JS en Foros del Web. Como minimizar el envió de datos con xmlhttp.open Tengo estos datos que envio, son cerca de 100 valores de checkbox. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 07/05/2010, 09:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 1 mes
Puntos: 11
Como minimizar el envio de datos con xmlhttp.open

Como minimizar el envió de datos con xmlhttp.open

Tengo estos datos que envio, son cerca de 100 valores de checkbox.

Código Javascript:
Ver original
  1. xmlhttp.open('GET',' checkbox.php?check1='+ document.getElementById('check1').checked + '&check3=' + document.getElementById('check3').checked + '&check4=' + document.getElementById('check4').checked + '&check5=' + document.getElementById('check5').checked + '&check6=' + document.getElementById('check6').checked + '&check7=' + document.getElementById('check7').checked + '&check8=' + document.getElementById('check8').checked + '&check9=' + document.getElementById('check9').checked + '&check10=' + document.getElementById('check10').checked + '&check11=' + document.getElementById('check11').checked + '&check12=' + document.getElementById('check12').checked + '&check13=' + document.getElementById('check13').checked + '&check14=' + document.getElementById('check14').checked + '&check15=' + document.getElementById('check15').checked + '&check16=' + document.getElementById('check16').checked + '&check17=' + document.getElementById('check17').checked + '&check18=' + document.getElementById('check18').checked + '&check19=' + document.getElementById('check19').checked + '&check20=' + document.getElementById('check20').checked + '&check21=' + document.getElementById('check21').checked + '&check22=' + document.getElementById('check22').checked + '&check23=' + document.getElementById('check23').checked + '&check24=' + document.getElementById('check24').checked + '&check25=' + document.getElementById('check25').checked + '&check26=' + document.getElementById('check26').checked + '&check27=' + document.getElementById('check27').checked + '&check28=' + document.getElementById('check28').checked + '&check29=' + document.getElementById('check29').checked + '&check30=' + document.getElementById('check30').checked + '&check31=' + document.getElementById('check31').checked + '&check32=' + document.getElementById('check32').checked + '&check33=' + document.getElementById('check33').checked + '&check34=' + document.getElementById('check34').checked + '&check35=' + document.getElementById('check35').checked + '&check36=' + document.getElementById('check36').checked + '&check37=' + document.getElementById('check37').checked + '&check38=' + document.getElementById('check38').checked + '&check39=' + document.getElementById('check39').checked + '&check40=' + document.getElementById('check40').checked + '&check41=' + document.getElementById('check41').checked + '&check42=' + document.getElementById('check42').checked + '&check43=' + document.getElementById('check43').checked + '&check44=' + document.getElementById('check44').checked + '&check45=' + document.getElementById('check45').checked + '&check46=' + document.getElementById('check46').checked + '&check47=' + document.getElementById('check47').checked + '&check48=' + document.getElementById('check48').checked + '&check49=' + document.getElementById('check49').checked + '&check50=' + document.getElementById('check50').checked + '&check51=' + document.getElementById('check51').checked + '&check52=' + document.getElementById('check52').checked + '&check53=' + document.getElementById('check53').checked + '&check54=' + document.getElementById('check54').checked + '&check55=' + document.getElementById('check55').checked + '&check56=' + document.getElementById('check56').checked + '&check57=' + document.getElementById('check57').checked + '&check58=' + document.getElementById('check58').checked + '&check59=' + document.getElementById('check59').checked + '&check60=' + document.getElementById('check60').checked + '&check61=' + document.getElementById('check61').checked + '&check62=' + document.getElementById('check62').checked + '&check63=' + document.getElementById('check63').checked + '&check64=' + document.getElementById('check64').checked + '&check65=' + document.getElementById('check65').checked + '&check66=' + document.getElementById('check66').checked + '&check67=' + document.getElementById('check67').checked + '&check68=' + document.getElementById('check68').checked + '&check69=' + document.getElementById('check69').checked + '&check70=' + document.getElementById('check70').checked + '&check71=' + document.getElementById('check71').checked + '&check72=' + document.getElementById('check72').checked + '&check73=' + document.getElementById('check73').checked + '&check74=' + document.getElementById('check74').checked + '&check75=' + document.getElementById('check75').checked + '&check76=' + document.getElementById('check76').checked + '&check77=' + document.getElementById('check77').checked + '&check78=' + document.getElementById('check78').checked + '&check79=' + document.getElementById('check79').checked + '&check80=' + document.getElementById('check80').checked + '&check81=' + document.getElementById('check81').checked + '&check82=' + document.getElementById('check82').checked + '&check83=' + document.getElementById('check83').checked + '&check84=' + document.getElementById('check84').checked + '&check85=' + document.getElementById('check85').checked + '&check86=' + document.getElementById('check86').checked + '&check87=' + document.getElementById('check87').checked + '&check88=' + document.getElementById('check88').checked + '&check89=' + document.getElementById('check89').checked + '&check90=' + document.getElementById('check90').checked + '&check91=' + document.getElementById('check91').checked + '&check92=' + document.getElementById('check92').checked + '&check93=' + document.getElementById('check93').checked + '&check94=' + document.getElementById('check94').checked + '&check95=' + document.getElementById('check95').checked + '&check96=' + document.getElementById('check96').checked + '&check97=' + document.getElementById('check97').checked + '&check98=' + document.getElementById('check98').checked + '&check99=' + document.getElementById('check99').checked + '&check100=' + document.getElementById('check100').checked, true);
  #2 (permalink)  
Antiguo 07/05/2010, 10:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como minimizar el envio de datos con xmlhttp.open

¿Te refieres a minimizar el código?
Puedes usar getElementsByTagName() para obtener todos los inputs y luego obtener sólo los que sean checkbox y concatenarlos. Algo como:
Código Javascript:
Ver original
  1. var valores = "";
  2. for (i = 0, checks = formulario.getElementsByTagName("input"); chk = checks[i]; i++) {
  3.     if (chk.type == "checkbox") {
  4.         if (chk.checked) {
  5.             valores += "&" + chk.name + "=" + encodeURIComponent(chk.value);
  6.         }
  7.     }
  8. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/05/2010, 10:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Como minimizar el envio de datos con xmlhttp.open

Hola:

Un par de apuntes... si vas a usar el método get, debes saber que existe un límite, que al escapar los datos se va incrementando... tal vez con un volumen grande de datos sea más aconsejable el método post; y sobre la concatenación, yo suelo inicializar "valores" como un array vacío, incrementándo ese array con push, y para pasar esos datos tan solo pongo valores.join("&"). simplemente es otra forma de hacer lo mismo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, envio, minimizar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.