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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top