Php Ajax表单不会以html格式返回

Php Ajax表单不会以html格式返回,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我的ajax代码是: $.ajax({ type: "post", dataType: "json", url: "contact.php", data: $("form").serialize(), success: function(data) { if(data.nameValidate == true && data.emailValidate == true &

我的ajax代码是:

  $.ajax({
        type: "post",
        dataType: "json",
        url: "contact.php",
        data: $("form").serialize(),
        success: function(data) {

            if(data.nameValidate == true && data.emailValidate == true && data.messageValidate == true) {
                $("form").fadeOut("fast", function() {
                    $("#contact").append('<p class="sent">' + data.success + '</p>').fadeIn("slow");
                });
            };

        }
    });
$.ajax({
类型:“post”,
数据类型:“json”,
url:“contact.php”,
数据:$(“表单”).serialize(),
成功:功能(数据){
if(data.nameValidate==true&&data.emailValidate==true&&data.messageValidate==true){
$(“形式”).fadeOut(“快速”,函数(){
$(“#联系人”).append(“

”+data.success+”

).fadeIn(“慢”); }); }; } });
我必须向mail.php的echo部分添加什么才能在HTML中发出成功消息。 PHP正在发送邮件,但没有向ajax发送成功消息


我试着把东西放在这里,但什么也没用。我编写了一些html代码,如
echo”…您应该创建一个数组或对象,其中包含要返回到ajax成功函数的数据,并使用PHP函数对其进行编码。

您需要用PHP构建数据 下面应该可以在javascript/jquery中使用

if($mail->Send())
{
    $data['nameValidate'] = true;
    $data['emailValidate'] = true;
    $data['messageValidate'] = true;
    $data['success'] = 'Oh it\'s working';
} else {
     $data['fail'] = '<font color="#F62217"><b>Doh</b></font>';
}
echo json_encode($data);
if($mail->Send())
{
$data['nameValidate']=true;
$data['emailValidate']=true;
$data['messageValidate']=true;
$data['success']='Oh it's working';
}否则{
$data['fail']='Doh';
}
echo json_编码($data);
同时将javascript更改为:

if(data.nameValidate == true && data.emailValidate == true && data.messageValidate == true) {
    $("form").fadeOut("fast", function() {
        $("#contact").append('<p class="sent">' + data.success + '</p>').fadeIn("slow");
    });
}else{
    if(typeof(data.fail)=="string"){
        $("#contact").append('<p class="sent">' + data.fail + '</p>').fadeIn("slow");
    }
}
if(data.nameValidate==true&&data.emailValidate==true&&data.messageValidate==true){
$(“形式”).fadeOut(“快速”,函数(){
$(“#联系人”).append(“

”+data.success+”

).fadeIn(“慢”); }); }否则{ if(typeof(data.fail)=“string”){ $(“#联系人”).append(“

”+data.fail+”

”).fadeIn(“慢”); } }
尝试发出警报(“somethink”);以检查success函数是否被执行。如果您说您的PHP没有返回消息,那么您也可以包含您的PHP吗?我认为-mail.PHP必须返回一些数据。名称验证为1(成功)但是ı不知道怎么做
dataType:json
意味着你希望json回来。Jasen,谢谢你的回答,但我对json一无所知。ajax表单不是我的,我无法将ajax表单转换为phpmailer。页面的html代码不适合
if(data.nameValidate == true && data.emailValidate == true && data.messageValidate == true) {
    $("form").fadeOut("fast", function() {
        $("#contact").append('<p class="sent">' + data.success + '</p>').fadeIn("slow");
    });
}else{
    if(typeof(data.fail)=="string"){
        $("#contact").append('<p class="sent">' + data.fail + '</p>').fadeIn("slow");
    }
}