我的代码遇到了问题。我似乎无法让.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;
}
});
});
}
答案 0 :(得分:4)
来自docs:
从jQuery 1.8开始,.ajaxStart()方法只应附加到文档。
这意味着您应该将处理程序绑定到document
而不是:
$(document).ajaxStart(function() {
alert('test');
});
jQuery将触发的ajaxStart
事件将没有特定目标,因此您将无法将其绑定到#email_form
元素。