如何通过 AJAX 从 PHP 文件获取多个响应?

Tur*_*Ali 5 javascript php ajax jquery

我的 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');
                }
            });

        }
Run Code Online (Sandbox Code Playgroud)

ros*_*lan 3

在成功块中,您可以执行另一个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
    });
}
Run Code Online (Sandbox Code Playgroud)