Foros del Web » Programando para Internet » Javascript »

Enviar string con el caracter + lo toma como espacio

Estas en el tema de Enviar string con el caracter + lo toma como espacio en el foro de Javascript en Foros del Web. buenas tardes compañeros tengo un problemita bastante particular envio un string con post como por ejemplo javascript++ y cuando lo recibo los caracteres ++ llegan ...
  #1 (permalink)  
Antiguo 06/12/2011, 11:28
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Enviar string con el caracter + lo toma como espacio

buenas tardes compañeros

tengo un problemita bastante particular

envio un string con post como por ejemplo javascript++ y cuando lo recibo los caracteres ++ llegan como si cada + fuera un espacio.

Código Javascript:
Ver original
  1. function SendRequest(){
  2. var comentario = escape($("#comentario").val());// javascript++
  3.     $.ajax({
  4.     url:"../controllers/recibir.php",
  5.     data:"comentario="+comentario,
  6.     type:"POST",
  7.         success:function(data){
  8.             alert(data); // imprime solo javascript pues con los dos espacios
  9.         }
  10.  
  11.     })
  12. }

que podra ser?

Última edición por informacionsys; 06/12/2011 a las 11:37
  #2 (permalink)  
Antiguo 06/12/2011, 12:40
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar string con el caracter + lo toma como espacio

debes escapar los parámetros de la URL, use la función escape() o jQuery.Serialize()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 06/12/2011, 12:42
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Enviar string con el caracter + lo toma como espacio

buenas,
es normal que el resultado sea el que estas experimentando. hay navegadores que automaticamente convierte los espacios a signos + en lugar de convertirlo al equivalente hexadecimal. dado esa peculiaridad, los lenguajes de servidor automaticamente los convierte a espacio. lo que siempre deberías hacer es codificar el valor que intentas pasar por HTTP con la función encodeURIComponent. de esa manera, cualquier caracter especial es codificado para que lo considere como literal.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 06/12/2011, 13:12
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Enviar string con el caracter + lo toma como espacio

hola

gracias a todos por su colaboracion se soluciono con la opcion encodeURIComponent..... gracias a maycolalvarez pues habia probado la funcion escape pero no me funciono..... igualmente gracias.


Última edición por informacionsys; 06/12/2011 a las 13:30

Etiquetas: espacio, string, toma, caracteres
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 02:55.