JQuery $. Post Problem com e -mails
Pergunta
Estou tentando postar dados de formulário em uma caixa de luz através do jQuery e PHP. Existem apenas 3 valores de campo que preciso passar. Não recebo erros no envio, mas os e -mails não estão enviando. Estou notando (através da Firebug) que os endereços de email que estão sendo inseridos em uma caixa de texto (que são os endereços de email para o qual o formulário envia) estão sendo enviados como: '%40' em vez de '@'. Alguém já experimentou isso ou sabe por que/como corrigir esse problema?
Minha função jQuery é a seguinte:
$('#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;
});
Agradecemos antecipadamente por qualquer ajuda. j
Solução
O que você está vendo é Codificação de URL.
Basicamente, o @
é um personagem especial em um URL. Então, quando você envia um campo com um personagem especial, ele deve ser escapado. Isso é mais útil em uma solicitação GET, onde os valores do campo acabam na URL, mas uma solicitação de postagem segue as mesmas regras.
No PHP, você pode usar o urldecode função para decodificar isso.
Outras dicas
%40 é a representação da URL do sinal @. Você precisará criar o e -mail no PHP.