我剛開始使用ajax ...嘗試通過發佈請求提交帶有ajax的表單。出於某種原因,我寫的代碼正好每隔一段時間都有效。當我第一次提交表單時,它通過ajax進行處理。當我再次提交時,javascript未被調用,並且表單提交了正常的發佈請求。當我第三次提交時,ajax再次運行。等等。任何想法如何解決這個問題讓Ajax每次都能工作?Ajax請求只能在其他時間工作
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);
});
使用解決方法解決了它。之前,我每次都使用ajax請求重新生成提交按鈕,並且我認爲事件處理程序未附加到重新生成的提交元素。我將提交移到了ajax請求的目標之外,並且每次都開始工作。 – vasek1
您應該在此主題中包含您自己的答案,並將其標記爲正確的答案。對未來的讀者有用 – rkw
是的,我必須等待8小時,因爲我的代表低。我會的時候會做。 – vasek1