저는 PHP와 AJAX로 문의 양식을 작성하려고합니다. 이메일은 전송하고 모든하지만 항상AJAX를 통해 PHP 파일에서 데이터를 가져 오는 방법은 무엇입니까?
"Message Sent!"
그래서 나는 내 PHP 스크립트의 끝이 쓴 HTML 초래한다 "true"
말한다 심지어 콘솔에서 "Failed to send!"
을 말한다 :
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;
});
이 이메일은 내가 그럼 내가 메시지를 보낸 "같은 페이지에서 appropiate 정보를 넣을 수있는 반환"true "로되고 싶은 보내 그래서 기본적으로 경우 jQuery를^
입니다! " 그러나이 경우에는 보내거나 성공하지 못했지만 사실을 반환하지 않습니다. 나는 또한 PHP 파일에서 print_r("true")
과 die("true")
을 시도했지만 여전히 작동하지 않습니다. 아무도 이유를 아나요? 어떤 것이 든 고맙게 여길 것입니다, 감사합니다.
나는 그것도 작동하지만 똑같은 일이 일어날 것이라고 생각. 그리고 콘솔에서 그것은 사실이라고 말합니다. 나는 매우 잃어버린 것입니다. –
콘솔이 사실입니까? 당신은'console.log (encodeURI (data));를 했습니까? 이것의 결과는 무엇입니까? –
문제를 발견했습니다! 그래서 스크립트에서 (나는 PHPMailer를 사용하여) "$ mail-> SMTPDebug = 2;"라는 코드 행을 가졌습니다. 그리고 그것을 제거하자마자 그것은 완벽하게 작동했습니다. 감사! –