我的PHP文件执行2个操作:1.将表单中的数据提交到db表,2.发送电子邮件.我想做的是通过ajax显示状态消息.例如:“首先完成操作,请等待第二个”然后当第二个操作完成时显示下一个消息“第二个操作也完成”.现在我的ajax看起来像那样.我怎么修改它?
//add status data to form
form.data('formstatus', 'submitting');
if (validate()) {
//send data to server for validation
$.ajax({
url: formUrl,
type: formMethod,
dataType: "json",
data: formData,
success: function (data) {
$.notifyBar({
cls: data.status,
html: data.message
});
form.data('formstatus', 'idle');
}
});
}
解决方法:
在成功块中,您可以执行另一个ajax调用.那是最简单的.您可以在.success(),. ajaxSucces(),. complete()或.then()函数中执行此操作:$.ajax(…).success(…);
$.ajax({
url: formUrl,
type: formMethod,
dataType: "json",
data: formData,
success: function (data) {
notifyResponse(data);
form.data('formstatus', 'idle');
sendMail();
}
});
function sendMail() {
$.get(mailUrl, function(data) { // or $.post(...
notifyResponse(data);
});
}
function notifyResponse(data) {
$.notifyBar({
cls: data.status,
html: data.message
});
}