我有一个 jquery 函数,用于发送带有 ajax 请求的电子邮件;
function sendMail(from,to,subject,message){
var datastr="from="+from+"&to="+to+"&subject="+subject+"&message="+message;
$.ajax({
type: "POST",
url: "mail.php",
data: datastr,
cache: false,
success: function(html){
return true;
},
error: function(jqXHR,status,error){
return false;
}
});
}
现在我想告诉用户邮件是否成功发送,如下所示:
$("#feedback").html("Sending email...");
if(sendMail("from@email.com","to@email.com","MySubject","MyMessage"))
$("#feedback").html("Email sent.");
else
$("#feedback").html("Error sending email.");
但当然 jQuery 在发送邮件之前会处理 if 条件,因此条件为 false :-( 我如何告诉 jQuery 等到 sendMail 完成并返回一些东西?