我目前正在写jQuery的ajax形式。 该表格是通过PHP脚本处理的,然后通过PHPMailer lite类发送信息。 (http://phpmailer.worxware.com/index.php)服务器回应警告/错误,使json的预期响应无效
这是PHP代码:
if ($mail->Send())
echo '{"message":"Mensaje enviado con éxito","status":"ok"}';
else
echo '{"message":"Ocurió un error al envíar el mensaje, intentelo más tarde.","status":"fail"}';
当用户提交电子邮件是不是一个有效的,导致我发现了这个问题以下错误:
Invalid address: E-mail:Invalid address: E-mail:Could not execute: /usr/sbin/sendmail
我应该测试的电子邮件。好。但问题是前面的错误信息“阻碍了”并破坏了响应。所以我可以解决电子邮件错误,但任何其他警告/错误都会破坏响应。
A '损坏' 响应例如:
Invalid address: E-mail:Invalid address: E-mail:Could not execute: /usr/sbin/sendmail {"message":"Ocurió un error al envíar el mensaje, intentelo más tarde.","status":"fail"}
(初线不应该存在)
而这是JavaScript(jquery的)部分:
$.ajax
({
type: "POST",
url: "contact.php",
data: $(this).serialize(),
success: function(data)
{
if(data.status == 'fail')
{
do something with data.message;
}
else if(data.status == 'ok')
{
do something else with data.message;
}
},
dataType: 'json'
});
任何的帮助这个? :)谢谢
那么,只有使用这个作为最后的手段...隐藏问题并不意味着他们解决了。 – kapa 2011-05-06 12:19:08
现在好了,如果他想要正确地做,他必须查看Send()函数。这很可能在未配置smtp设置的测试服务器上运行,并且可以正常运行。并非所有事情都是企业级应用程序...... – 2011-05-06 12:57:23
嗯,是的,并非所有事情都是企业级应用程序:)。然后谁在乎编码标准和逻辑:)。 – kapa 2011-05-06 13:02:33