我的代码有问题。我似乎无法让.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
元素。