jQuery ajaxStart and Stop Not Firing



我的代码有问题。我似乎无法让.ajaxStart工作。应该有一个简单的解决方法,我将不胜感激你能提供的任何帮助。我知道 ajax 正在工作,因为我有一个 php 文件,睡眠时间为 3 秒,然后是我的成功函数正确显示的回声。

有什么想法吗?

这是我的javascript:

$(document).ready( function() {
        $('#loading').hide();
$("#email_form").ajaxStart(function() {
            alert('test');
            });
send_mail();
});
function send_email() {
            $("#email").click(function(e) {
                e.preventDefault();
                var student_id = $("#student_id").val();
                var email_type = $("#email_type").val();
                var message = $("#message").val();
                var dataString = 'student_id=' + student_id + '&email_type=' + email_type + '&message=' + message;
                var url = 'process/conference_email.php';
                $.ajax({
                    type:'POST',
                    data:dataString,
                    url:url,
                    success:function(data) {
                        toastr.success(data, 'Sent');
                        return false;
                    }
                });
            });
        }

从文档中:

从jQuery 1.8开始,.ajaxStart()方法应该只附加到文档中。

这意味着您应该将处理程序绑定到document

$(document).ajaxStart(function() {
   alert('test');
});

jQuery 将触发的ajaxStart事件将没有特定的目标,因此您无法将其绑定到#email_form元素。

最新更新