我想用PHP和AJAX做一個聯繫表單。電子郵件發送和所有,但它總是說"Failed to send!"
即使在控制檯它說"true"
這將導致在HTML "Message Sent!"
如何通過AJAX從PHP文件獲取返回數據?
所以我在我的PHP腳本的末尾寫道的:
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
echo "true";
}
,並應意味着通過AJAX我得到的輸出數據應該是其中的一個,對嗎?
ajax.SetText("Sending...");
$.post("sendmail.php", {
name: userName, email: userEmail, comments: userComments, business: currentBusiness, website: currentWebsite
}, function(data) {
if(data == "true") {
ajax.SetText("Sent!");
console.log(data);
$.get("sent.html", function(sentData){
$("#content").html(sentData);
});
} else {
ajax.SetText("Send mail");
console.log(data);
$.get("unsent.html", function(sentData){
$("#content").html(sentData);
});
}
ajax.isSubmiting = false;
});
這是jQuery的^
所以基本上,如果電子郵件發送我想要的回報是「真實的」這樣的話我可以把網頁上像「消息發送此時,相應的信息! 「但在這種情況下,無論發送失敗還是失敗,它都不會返回true。我也嘗試過,在PHP文件中,print_r("true")
和die("true")
,但它仍然無法正常工作。有誰知道爲什麼?任何事情將不勝感激,謝謝。
我認爲這樣做也會發生同樣的事情。並在控制檯它說的是真實的,所以我很迷失 –
控制檯說的是真的?你做了'console.log(encodeURI(data));'?這是什麼產出? –
我發現問題了!所以在腳本(即時通訊使用PHPMailer),我有這行代碼「$ mail-> SMTPDebug = 2;」一旦我將它移除,它就完美無缺地工作。謝謝! –