jQuery $ .post电子邮件问题

时间:2010-02-01 20:35:42

标签: jquery email .post

我正试图通过jQuery和php在灯箱中发布表单数据。我只需要传递3个字段值。我在提交时没有收到任何错误,但电子邮件没有发送。我注意到(通过Firebug)正在输入文本框的电子邮件地址(表单发送给的电子邮件地址)被发送为:'%40'而不是'@'。有没有人经历过这个或知道为什么/如何解决这个问题?
我的jQuery函数如下:

$('#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;

});

提前感谢任何帮助。 Ĵ

2 个答案:

答案 0 :(得分:5)

您所看到的是URL encoding

基本上,@是网址中的特殊字符。因此,当您提交包含特殊字符的字段时,必须对其进行转义。这在GET请求中最有用,其中字段值实际上以URL结尾,但POST请求遵循相同的规则。

在PHP中,您可以使用urldecode函数对此进行解码。

答案 1 :(得分:0)

%40是@符号的URL表示形式。你需要在php中加密电子邮件。