Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] URL se corta al ser enviado con ajax

Estas en el tema de URL se corta al ser enviado con ajax en el foro de Javascript en Foros del Web. Hola a todos, de antemano muchas gracias por estar siempre dispuestos a colaborar. También debo decir que no estoy seguro de si he puesto el ...
  #1 (permalink)  
Antiguo 01/04/2014, 10:47
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años
Puntos: 5
URL se corta al ser enviado con ajax

Hola a todos, de antemano muchas gracias por estar siempre dispuestos a colaborar. También debo decir que no estoy seguro de si he puesto el post en el lugar correcto.

Bueno, sucede que tengo una función Javascript que envía por Ajax un texto escrito en un textarea. Lo envía a un archivo PHP para que lo procese y lo guarde en una base de datos MySQL. Funciona casi perfecto, solo que cuando escribo una URL que contiene una "&" se corta por esta parte y al llegar llegar al archivo PHP la URL está incompleta.

Aquí dejo mi código:
Código Javascript:
Ver original
  1. // Capturar mensaje
  2. var msg = document.newPostForm.newPostBodyField.value;
  3.            
  4. // Ajax para guardar
  5. var OBJsaveNewPosts=new XMLHttpRequest();
  6. OBJsaveNewPosts.onreadystatechange=function()
  7.   {
  8.   if (OBJsaveNewPosts.readyState==4 && OBJsaveNewPosts.status==200)
  9.     {
  10.     document.getElementById("doNothing").innerHTML=OBJsaveNewPosts.responseText;
  11.     }
  12.   }
  13. OBJsaveNewPosts.open("POST","ajax/saveNewPost.php",true);
  14. OBJsaveNewPosts.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  15. OBJsaveNewPosts.send("m="+msg);

Supongo que tiene que ver con lo de la linea 15, pero no se solucionarlo.

Última edición por zyxer; 01/04/2014 a las 10:53 Razón: Hacerlo mas entendible
  #2 (permalink)  
Antiguo 01/04/2014, 10:54
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: URL se corta al ser enviado con ajax

¿Has probado pasando la función encodeURIComponent()?
  #3 (permalink)  
Antiguo 01/04/2014, 11:04
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años
Puntos: 5
Respuesta: URL se corta al ser enviado con ajax

Ya!!!

Gracias, olvídenlo. Lo he solucionado agregando una simple linea en lo que aquí sería la linea 3. la dejo escrita por si a alguien le sirve (aunque sea en el futuro).

Código Javascript:
Ver original
  1. msg = msg.replace("&", "%26");
  #4 (permalink)  
Antiguo 01/04/2014, 11:06
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: URL se corta al ser enviado con ajax

Vamos, lo que te he indicado pero hecho "a lo n00b"
  #5 (permalink)  
Antiguo 01/04/2014, 11:10
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años
Puntos: 5
Respuesta: URL se corta al ser enviado con ajax

Sí, me di cuenta, estaba editando (pero mandaste el mensaje antes de que termine y no me dejó) para decirte que no había visto tu respuesta y que lo iba a cambiar para hacerlo como dijiste, ya que es una solución profesional a pesar de que la mia estaba funcionando.

Etiquetas: ajax, corta, enviado, funcion, js, php, url
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 09:27.