На веб-странице у нас есть следующая система проверки формы на стороне сервера. Например, если пользователь добавляет сведения о дате для события (и событие может содержать много таких сведений о дате), мы вызываем функцию javascript при нажатии кнопки «Добавить», как показано ниже.
validateForm('frmName','codelibrary/classes/myclass.php','validationArrName')
where:
@frmName = form name
@codelibrary/classes/myclass.php = location of class file, that contains classes and functions for server side validation
@validationArrName = Type of validation we apply
In the php script, validationArrName is defined as a list of keys (representing form fields) and values (representing the functions we will call to validate that form field).
validationArrName = array ('fieldName1'=>validationFun1,'fieldName2'=>validationFun2);
eg:
fieldName1 = email_address
validationFun1 = validateEmail()
На html-странице мы вызываем проверку на стороне сервера через ajax следующим образом.
$.post(className,$("form[name="+formName+"]").serialize()+"&isValidate=1&validateArrayName="+validateArrayName,function(data){ ... });
Если функция проверки сообщает об ошибке, мы отображаем соответствующее сообщение об ошибке на странице html.
Проблема в том, что когда мы делаем это в первый раз (например, после жесткого обновления страницы), отправка этой формы с информацией о дате для проверки занимает много времени по сравнению с на последующие запросы.
Мы заметили, что вместо однократного вызова файла codelibrary / classes / myclass.php он на самом деле ссылается на этот файл более 10 раз, прежде чем перейти к нужному месту (validationArrName) и запустить его.
Для последующих запросов он работает нормально и ссылается на этот файл только один раз.
В чем может быть проблема здесь? Может ли быть проблема с использованием jquery submit?