Javascript Ajax请求每隔一段时间才工作一次
我刚刚开始使用ajax…尝试通过post请求使用ajax提交表单。出于某种原因,我编写的代码每隔一段时间就完全有效。当我第一次提交表单时,它是通过ajax处理的。当我再次提交时,javascript不会被调用,表单是通过正常的post请求提交的。当我第三次提交时,ajax再次工作。等等你知道如何解决这个问题,让ajax每次都能正常工作吗Javascript Ajax请求每隔一段时间才工作一次,javascript,jquery,Javascript,Jquery,我刚刚开始使用ajax…尝试通过post请求使用ajax提交表单。出于某种原因,我编写的代码每隔一段时间就完全有效。当我第一次提交表单时,它是通过ajax处理的。当我再次提交时,javascript不会被调用,表单是通过正常的post请求提交的。当我第三次提交时,ajax再次工作。等等你知道如何解决这个问题,让ajax每次都能正常工作吗 function contact_submit() { alert('starting'); var data = { name: $('#id_n
function contact_submit() {
alert('starting');
var data = {
name: $('#id_name').val(),
email: $('#id_email').val(),
title: $('#id_title').val(),
message: $('#id_message').val(),
csrfmiddlewaretoken: $('input[name="csrfmiddlewaretoken"]').val()
};
$('#contact_form').load("/contact/?ajax", data, function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#contact_form").html(msg + xhr.status + " " + xhr.statusText);
}
});
alert('load was performed');
return false;
}
$(document).ready(function () {
//*$(document).submit(contact_submit);
$(document).on("submit","form",contact_submit);
});
如果将事件附加到
文档
级别,则无法使用return false
取消该事件。当它传播到文档
级别时,表单已提交。您应该专门将事件附加到表单上(如您所注释的),并在load()
调用成功时重新附加它。使用解决方法解决了它。以前,我每次使用ajax请求都会重新生成submit按钮,我认为事件处理程序没有附加到重新生成的submit元素。我将submit移到ajax请求的目标之外,它每次都开始工作。使用变通方法解决了这个问题。以前,我每次使用ajax请求都会重新生成submit按钮,我认为事件处理程序没有附加到重新生成的submit元素。我将提交移到ajax请求的目标之外,并且每次都开始工作。您应该在这个线程中包含您自己的答案,并将其标记为正确答案。对未来的读者有用是的,我必须等待8个小时,因为我的代表性较低。如果可以,我会这样做。我尝试过,但仍然得到相同的交替行为(尽管我从代码示例中删除了该行为)@vasek1这可能意味着由于代码中的异常,第二次附加事件失败。