我有一个ajax,它会发送一封包含某些信息的电子邮件,然后响应已发送或未发送,我的问题是我不知道为什么如果检查员认为响应是“已发送”,那么.done for ajax之后的if应该做些什么?响应已发送,但它总是传给我(如果有),否则,我不知道为什么,电子邮件已发送,其他所有信息,但我无法理解为什么总是传给其他。
我的jQuery是这样的:
function Send()
{
var nom = $('#name').val();
var ape = $('#lastname').val();
var occ = $('#occupation').val();
var dep = $('#department').val();
var dob = $('#datob').val();
var bdp = $('#place').val();
var add = $('#address').val();
var cid = $('#cidnumber').val();
var pho = $('#phone').val();
var pem = $('#mail').val();
var sta = $('#station').val();
if(bdp == '' || add == '' || cid == '' || pho == '' || pem == '')
{
swal("Ooops!", "All the information MUST be filled, Please check!.", "error");
}
else
{
$('#myModalEmail').modal('toggle');
$.ajax({
url: 'AccionesPHP.php',
type: 'POST',
data: {funcion:'SendIdMail',name:nom,lastname:ape,occupation:occ,department:dep,dob:dob,place:bdp,address:add,companyid:cid,phone:pho,mail:pem,station:sta}
})
.done(function(respuesta){
if(respuesta == "sent")
{
$('#myModalEmail').modal('hide');
swal("Success!", "Your Card Request has been sent successfuly.", "success");
LoadData();
}
else
{
swal("Ooops!", "This is embarrasing, we have a proble could you try later, Error!.", "error");
}
});
}
}
我的PHP是这样的:
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$occupation = $_POST['occupation'];
$department = $_POST['department'];
$dob = $_POST['dob'];
$place = $_POST['place'];
$address = $_POST['address'];
$companyid = $_POST['companyid'];
$phone = $_POST['phone'];
$mail = $_POST['mail'];
$station = $_POST['station'];
//ENVIO DE MAIL PARA DAVID WING
$mensaje = '<html>';
$mensaje .= '<body>';
$mensaje .= '<h3> New Company Identification Card Request </h3>';
$mensaje .= '<div><p> The information for the Card request is below:</p>';
$mensaje .= '<label>Name</label>';
$mensaje .= '<input type="text" value="'. $name .'" disabled><br<br>';
$mensaje .= '<label>Last Name</label>';
$mensaje .= '<input type="text" value="'. $lastname .'" disabled><br<br>';
$mensaje .= '<label>Occupation</label>';
$mensaje .= '<input type="text" value="'. $occupation .'" disabled><br<br>';
$mensaje .= '<label>Depatment</label>';
$mensaje .= '<input type="text" value="'. $department .'" disabled><br<br>';
$mensaje .= '<label>Date of Birth</label>';
$mensaje .= '<input type="text" value="'. $dob .'" disabled><br<br>';
$mensaje .= '<label>Birth Place</label>';
$mensaje .= '<input type="text" value="'. $place .'" disabled><br<br>';
$mensaje .= '<label>Address</label>';
$mensaje .= '<input type="text" value="'. $address .'" disabled><br<br>';
$mensaje .= '<label>Company ID</label>';
$mensaje .= '<input type="text" value="'. $companyid .'" disabled><br<br>';
$mensaje .= '<label>Phone</label>';
$mensaje .= '<input type="text" value="'. $phone .'" disabled><br<br>';
$mensaje .= '<label>Personal e-mail</label>';
$mensaje .= '<input type="text" value="'. $mail .'" disabled><br<br>';
$mensaje .= '<label>Station</label>';
$mensaje .= '<input type="text" value="'. $station .'" disabled><br<br>';
$mensaje .= '</body> </html>';
$para = '[email protected]';
$titulo = 'New Company Identification Card Request';
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$cabeceras .='From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($para, $titulo, $mensaje, $cabeceras))
{
print "sent";
}
else
{
print "notsent";
}
break;
最佳答案
是的,电子邮件已发送,“respuesta”是我从php获取数据的地方,应该从“if”(邮件())返回“sent”或“notsent”,如果它是true,则返回“sent”,这是根据给检查员,我得到“发送”作为答案,但是当我仍然这样做时(respuesta ==“sent”)
做一点事
其他
做一点事
idk为什么如果php的答案是“sent”,它总是转到其他位置
关于javascript - JQUERY回应无法运作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35247432/