实时服务器上的间歇性AJAX错误

时间:2018-12-11 14:32:02

标签: javascript jquery ajax

我已经通过AJAX处理了此表单。在本地服务器上进行的所有测试中,直到将文件上传到实时服务器上,我才从未遇到过这个问题。

例如,当表单被填充10次(十分之三)时,它会通过而不会引发错误。但是剩下的7次,则会在响应有所变化的情况下抛出此错误。

在那7次中,我收到如下错误:

jquery.min.js:2 POST https://www.example.com/ApplicationCheck.php net::ERR_EMPTY_RESPONSE
send    @   jquery.min.js:2
ajax    @   jquery.min.js:2
(anonymous) @   application.js:62
dispatch    @   jquery.min.js:2
y.handle    @   jquery.min.js:2
------------------

以及以下回复:

jquery.min.js:2 XHR failed loading: POST "https://www.example.com/ApplicationCheck.php".
send    @   jquery.min.js:2
ajax    @   jquery.min.js:2
(anonymous) @   application.js:62
dispatch    @   jquery.min.js:2
y.handle    @   jquery.min.js:2
---------------------------------------------

现在,这是“ application.js”中引用第62行的部分

$(document).ready(function() {
  $("#error").hide();
  $("#loader").hide();

  $('#ApplicationCheckerForm').submit(function(event) {
    $("#error").hide();

    var formData = {
      'ResidentCountry': $('select#ResidentCountry').val(),
      'Email': $('input[name=Email]').val()
    };

    $.ajax({
      type: 'POST',
      url: '../greenwich/ApplicationCheck',
      data: formData,
      dataType: 'json',
      beforeSend: function() {
        $("#error").hide();
        $("#loader").show();
        $("input[type=submit]").attr("disabled", "disabled");
        $("input[type=text]").attr("disabled", "disabled");
        $("input[type=password]").attr("disabled", "disabled");
        $("select").attr("disabled", "disabled");
      },
      encode: true
    }).done(function(data) {
      console.log(data);

      if (!data.success) {
        if (data.errors.Error) {
          $("#ResidentCountry").val("");
          $("#Email").val("");
          $("#checkbox").prop("checked", false);
          $("input[type=submit]").removeAttr("disabled");
          $("input[type=text]").removeAttr("disabled");
          $("input[type=password]").removeAttr("disabled");
          $("select").removeAttr("disabled");
          $("#error").show(function() {
            $('#error').html('' + data.errors.Error + '');
          });
          $("#loader").fadeOut(200);
        }
      } else {
        $("#loader").hide();
        $("#error2").hide();
        $("#error3").hide();
        $("#loader2").hide();
        $("input[type=submit]").removeAttr("disabled");
        $("input[type=text]").removeAttr("disabled");
        $("input[type=password]").removeAttr("disabled");
        $("select").removeAttr("disabled");
        $("#StartApplicationModal").modal({
          backdrop: 'static',
          keyboard: false
        });
        $('#StartApplicationModal').modal('show');
      }
    }).fail(function(data) {
      console.log(data);
    });
    event.preventDefault();
  });
});

发布上述内容后,我不知何故导致了上述错误。我再次得到的错误是:

  1. jquery.min.js:2 POST https://www.example.com/ApplicationCheck.php net :: ERR_EMPTY_RESPONSE
  2. jquery.min.js:2 XHR加载失败:POST“ https://www.example.com/ApplicationCheck.php”。
  3. 几次,我得到ERR SSL。 (我现在可以重现此错误,以进行准确地发布)

如果有人足够友善地引导我解决这个问题,向我展示可能的解决方案或指出我可能会出问题的地方,我将非常高兴。谢谢!

这是我的服务器PHP.ini的配置和限制:

# BEGIN cPanel-generated php ini directives, do not edit
# Manual editing of this file may result in unexpected behavior.
# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
<IfModule php5_module>
   php_flag asp_tags Off
   php_flag display_errors On
   php_value max_execution_time 90
   php_value max_input_time 90
   php_value max_input_vars 1000
   php_value memory_limit 128M
   php_value post_max_size 100M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea3"
   php_value upload_max_filesize 64M
   php_flag zlib.output_compression Off
</IfModule>
# END cPanel-generated php ini directives, do not edit

0 个答案:

没有答案