1
以下代碼用於允許用戶發送查詢。聯繫表格在網站初始加載時加載,如果用戶立即訪問聯繫表單並處理查詢,代碼將按預期工作。如果用戶首先點擊另一個使用AJAX動態加載內容並隨後訪問聯繫頁面併發送查詢的選項卡,則會出現問題。AJAX在後續加載另一個動態頁面後未捕獲響應
儘管發送了消息,但是從服務器返回的成功消息正在屏幕上回顯,並且所有內容都已丟失。有人知道原因是什麼嗎?
jQuery和AJAX代碼
$(document).ready(function() {
var request;
$("#EnquiryForm").submit(function(event){
if (request) {
request.abort();
}
event.preventDefault();
var $form = $(this);
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
request = $.ajax({
url: "index.php",
type: "POST",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
alert(response);
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("The following error occurred: " + textStatus, errorThrown);
});
request.always(function() {
$("#EnquiryForm")[0].reset();
$('#seniorEnquiries').prop('checked', true);
$('input').iCheck({
radioClass: 'iradio_square-red',
increaseArea: '20%' // optional
});
$inputs.prop("disabled", false);});
$('input').iCheck('enable');
})
})
PHP
$message = sendEnquiry();
echo $message;
我通過將代碼放置在聯繫人表單中,而在加載主頁期間加載的單獨的JavaScript文件之前解決了此問題。感謝您的回答。 – Tuisceanach