Jquery 发送电子邮件,无需页面刷新PHP AJAX。php发送电子邮件操作是HTML格式的

Jquery 发送电子邮件,无需页面刷新PHP AJAX。php发送电子邮件操作是HTML格式的,jquery,html,ajax,Jquery,Html,Ajax,我想用AJAX发送它。这件事我哪里做错了?我得到的错误是: 主线程上的同步XMLHttpRequest不推荐使用,因为它会对最终用户的体验产生有害影响。有关更多帮助,请查看@jquery.min.js:4 $(文档).ready(函数(){ $(“#提交电子邮件”)。单击(功能(事件){ var email=document.getElementById('mail').value; var message=document.getElementById('message')。值; 变量数据字符

我想用AJAX发送它。这件事我哪里做错了?我得到的错误是:

主线程上的同步XMLHttpRequest不推荐使用,因为它会对最终用户的体验产生有害影响。有关更多帮助,请查看@jquery.min.js:4

$(文档).ready(函数(){
$(“#提交电子邮件”)。单击(功能(事件){
var email=document.getElementById('mail').value;
var message=document.getElementById('message')。值;
变量数据字符串={
“邮件”:电子邮件,
“消息”:消息
}
$.ajax({
类型:“post”,
url:“controller/email.php”,
数据:dataString,
成功:函数(html){
警惕(“成功!”);
}
});
event.preventDefault();
});
});

发送消息

试试这个: 这可能会有帮助

$(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!');
      }
    });

  });
});

你是说页面刷新了吗?因为它不会在您的问题中给出JS(由于
event.preventDefault()
)。此外,该错误与显示为关于同步请求的警告的代码无关,但您使用的代码是异步的-除非您在全局AJAX设置中设置了
async:false
,在这种情况下,只需删除该属性即可。使用FormData()物体不稳定data@RoryMcCrossan我没有接触ajax设置,我相信默认情况下是正确的。知道怎么查吗?使用Zeeshan的建议编辑后,它不会刷新。谢谢,虽然它不会发送电子邮件,但它确实显示了警报。在这种情况下,您的JS正确发送了请求,问题现在出现在您的
email.php
文件中。你需要调试它哦,所以我只是在php中使用mail()
@技术难度
$\u POST
变量是一个关联数组,你需要用字符串访问它的属性,即添加引号:
$\u POST['mail']
$\u POST['message']
@Quangdao Nguyen谢谢,我已经更改和编辑了这篇文章。甚至没有注意到,因为它发送了HTML表单。由于某些原因,它仍然不是通过Ajax发送的。
$(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!');
      }
    });

  });
});