Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Ajax: Error al enviar datos de un texto por XMLHTTPRequest

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Programación en General
Mensaje Mie Abr 19, 2006 11:21 am
rookie
Perlero Nuevo
Perlero Nuevo
Registrado: 01 Mar 2006
Mensajes: 39
Ajax: Error al enviar datos de un texto por XMLHTTPRequest Responder citando

Saludos a todos.

Estoy haciendo una prueba utilizando Ajax, enviando datos de un cliente a un proceso servidor. En el "cliente" el usuario ingresa una cadena X en una caja de texto, el valor ingresado se manda al "servidor" para su validación (por medio de un objeto XMLHttprequest); el servidor debe mandar un mensaje de error si es que el texto ingresado es incorrecto.

El problema se presenta en el metodo Open, ya que estoy seguro que cometo un error al mandar el valor como argumento, ya que mi proceso en el servidor me manda un mensaje que yo mismo coloqué en caso de que no se encuentre cadena alguna. Aquí les mando las líneas del problema.
Código:
function valida()
 {   _objeto=objetus(); //creamos el objeto XMLHttpRequest llamando a la función objetus
      _valor=document.valida_con_ajax.caja_texto.value    //tomo el valor de text_box
      _valor_a_enviar="funcion=caja_texto&valor="+_valor     //armo el parámetro a enviar. Creo que aquí está el problema
     _URL_="proceso2.php?"                                             
     _objeto.open("GET",_URL_+"&"+_valor_a_enviar,true);    //llamando a OPEN
         
     _objeto.onreadystatechange=function() {      //Recibiendo la respuesta del servidor
       if (_objeto.readyState==4)   
         {   window.alert(_objeto.responseText);     
         }

Seguramente estoy cometiendo un error al mandar el valor de mi caja de texto, al asignarlo a "_valor_a_enviar" pero no he encontrado la manera. Ya intenté colocando solamente:
Código:
 _valor_a_enviar="funcion=_valor"
Pero no me funciona, aunque para otros ejercicios, esta línea si esta funcionando.

Agradezco su ayuda de antemano.
Hasta pronto
Mensaje Mie Abr 19, 2006 1:37 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4100
Ubicación: Valladolid, España
Responder citando

Yo diría que sobra el '&' en el open... Prueba con
Código:
_objeto.open("GET",_URL_ + _valor_a_enviar, true); //llamando a OPEN
pero debería seguir funcionando.

Podrías mirar con la función que defines en statechange si el diálogo con el servidor recorre los valores del 0 al 3, sacándolos en una alerta, para verlos...

Aquí tienes más código para comparar.
Mensaje Mie Abr 19, 2006 3:57 pm
rookie
Perlero Nuevo
Perlero Nuevo
Registrado: 01 Mar 2006
Mensajes: 39
Responder citando

Saludos explorer.

Intenté con la modificación que me indicaste, pero no me funcionó, aunque entré al link que amablemente me pasaste y encontré una variación con la cual me funcionó; quedaría así:
Código:
_valor=document.getElementById('caja_texto').value;
_URL_="proceso2.php?param="
_objetus.open("GET",_URL_+escape(_valor), true);

Así me funciona el paso del valor de la caja de texto por medio del objeto XMLHttprequest y puedo hacer el manejo del dato ya del lado del servidor.

Gracias por la ayuda.
Hasta pronto.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Programación en General Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group