Pregunta

Estoy tratando de publicar datos de formulario en una caja de luz a través de jQuery y PHP. Solo hay 3 valores de campo que necesito pasar. No recibo ningún error en enviar, pero los correos electrónicos no se envían. Estoy notando (a través de Firebug) que las direcciones de correo electrónico que se están ingresando en un cuadro de texto (que son las direcciones de correo electrónico a las que envía el formulario) se envían como: '%40' en lugar de '@'. ¿Alguien ha experimentado esto o sabe por qué/cómo solucionar este problema?
Mi función jQuery es la siguiente:

$('#notify form').submit(function(){
  $.post('path/to/action/to/send/email', { id: $("#id").val(), client_reviews: $("#client_reviewers").val(), client_reviewers_msg: $("#client_reviewers_msg").val() }, function(){
  tb_remove();
  $('#client_reviewers').val('');
  $('#client_reviewers_msg').val('');
});
return false;

});

Gracias de antemano por cualquier ayuda. j

¿Fue útil?

Solución

Lo que estás viendo es Codificación de URL.

Básicamente, el @ es un personaje especial en una URL. Entonces, cuando envías un campo con un personaje especial en él, debe ser escapado. Esto es más útil en una solicitud GET donde los valores de campo realmente terminan en la URL, pero una solicitud posterior sigue las mismas reglas.

En PHP, puedes usar el urldecode función para decodificar esto.

Otros consejos

%40 es la representación de URL del signo @. Deberá urlDecrypt el correo electrónico en PHP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top