我目前正在寫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