我已经通过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();
});
});
发布上述内容后,我不知何故导致了上述错误。我再次得到的错误是:
如果有人足够友善地引导我解决这个问题,向我展示可能的解决方案或指出我可能会出问题的地方,我将非常高兴。谢谢!
这是我的服务器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