0

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

有什么想法吗?

这是我的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;
                    }
                });
            });
        }
4

1 回答 1

4

文档

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

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

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

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

于 2013-10-06T08:36:08.857 回答