发送电子邮件而不刷新页面 PHP AJAX.电子邮件.php发送电子邮件操作采用 HTML 格式



我想用AJAX发送它。我哪里出错了?我得到的错误是:

主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看 https://xhr.spec.whatwg.org/.send@ jquery.min.js:4

$(document).ready(function() {
$("#submit-email").click(function(event) {
var email = document.getElementById('mail').value;
var message = document.getElementById('message').value;
var dataString = {
"mail": email,
"message": message
}
$.ajax({
type: "post",
url: "controller/email.php",
data: dataString,
success: function(html) {
alert('Success!');
}
});
event.preventDefault();
});
});
<form>
<input type="email" name="mail" id="mail" required="required" class="form" placeholder="Email" />
<input type="hidden" name="message" id="message" value="test value" />
<button type="submit" id="submit-email" name="submit" class="submit-email">Send Message</button>
</form>
<?php
if(isset($_POST['submit']) ){ 
$youremail = 'hello@blahblah.net';   
$user_email = $_POST['mail'];
$message = $_POST['message'];
$and = 'blahblah.net';
$body = "You requested we email the following to you: $message. Regards, Team";
$headers = "From: $youremail"; 
mail($user_email, 'blahblah.net', $body, $headers ); 
}
$newURL = '../index-open.php';
header('Location: '.$newURL);

?>

试试这个:

它可能会有所帮助。

$(document).ready(function() {
$("form").submit(function(e) {
e.preventDefault();
var email = document.getElementById('mail').value;
var message = document.getElementById('message').value;
var dataString = {
"mail": email,
"message": message
}
$.ajax({
type: "post",
url: "controller/email.php",
data: dataString,
success: function(html) {
alert('Success!');
}
});
});
});

最新更新