Php Ajax表单不会以html格式返回
我的ajax代码是: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({
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");
}
}