我正试图通过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;
});
提前感谢任何帮助。 Ĵ
答案 0 :(得分:5)
您所看到的是URL encoding。
基本上,@
是网址中的特殊字符。因此,当您提交包含特殊字符的字段时,必须对其进行转义。这在GET请求中最有用,其中字段值实际上以URL结尾,但POST请求遵循相同的规则。
在PHP中,您可以使用urldecode函数对此进行解码。
答案 1 :(得分:0)
%40是@符号的URL表示形式。你需要在php中加密电子邮件。