Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AJAX Post在随后加载另一个动态页面后未捕获响应_Php_Jquery_Ajax - Fatal编程技术网

Php AJAX Post在随后加载另一个动态页面后未捕获响应

Php AJAX Post在随后加载另一个动态页面后未捕获响应,php,jquery,ajax,Php,Jquery,Ajax,以下代码用于允许用户发送查询。联系人表单在网站初始加载时加载,如果用户随后立即访问联系人表单并处理查询,则代码按预期工作。如果用户首先单击另一个选项卡,该选项卡使用AJAX动态加载内容,然后访问联系人页面并发送查询,则会出现问题 虽然消息已发送,但从服务器返回的成功消息只是在屏幕上回响,所有内容都已丢失。有人知道原因是什么吗 Jquery和AJAX代码 $(document).ready(function() { var request; $("#EnquiryForm").submit(fun

以下代码用于允许用户发送查询。联系人表单在网站初始加载时加载,如果用户随后立即访问联系人表单并处理查询,则代码按预期工作。如果用户首先单击另一个选项卡,该选项卡使用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;   

您的代码运行在
document ready
上,并设置事件挂钩
submit
,因为选项卡HTML是通过Ajax加载的,它没有附加任何事件挂钩,并且
document ready
不会再次触发,因此表单是作为正常的post/get而不是通过Ajax提交的


通过每次在选项卡中加载表单html时设置
submit
钩子来修复它。

您的代码在
document ready
上运行,并设置事件钩子
submit
,因为选项卡html是通过Ajax加载的,它没有附加任何事件钩子,并且不会再次触发
document ready
,表单是作为普通的post/get提交的,而不是通过Ajax提交的


每次在选项卡中加载表单html时,通过设置
submit
hook来修复此问题。

我通过将代码放在联系人表单中修复了此问题,而之前它是在加载主页期间加载的单独javascript文件中。谢谢你的回答。我通过将代码放在联系人表单中修复了这个问题,而之前它是在加载主页时加载的一个单独的javascript文件中。谢谢你的回答。