我試圖表現出的警報,但它不是不要工作知道我錯過了什麼,請指出:警報()不工作在PHP,而不致印在控制檯
//my.php
if(mail($to, $subject, $message, $headers)) {
$message = "Mail sent.";
echo "<script type='text/javascript'>alert('$message');</script>";
}
else {
echo json_encode(['success'=>false]);
}
上述假設在瀏覽器上顯示警報,但沒有顯示任何內容。但是它被印在控制檯上,誰知道這裏有什麼問題?
UPDATE
//myPhpCall:
<script type="text/javascript">
$(document).ready(function() {
$("#myForm").on('submit', function(event) {
event.preventDefault();
var formData = $(this).serialize();
$.ajax({
type: 'POST',
url: 'sendmail.php',
dataType: "json",
data: formData,
success: function(response) {
alert("Mail sent"); // not getting called
},
error: function(xhr, status, error) {
console.log(xhr);
}
});
});
});
</script>
這' alert('$ message');'可能是從服務器返回的,但沒有被執行,因爲沒有任何東西觸發它......你是重新加載空洞頁面,還是讓服務器返回就像是對它的調用?我想你可以添加到服務器的'alert()'(用戶端)'服務器正在返回的'$ message'的函數或事件中調用PHP ... –
您是否使用'jQuery'來提交表單? – julekgwa
@julekgwa是的,讓我試試你的方式 –