У меня очень странная проблема, и эта проблема возникает очень редко, и это тоже в нашей производственной среде.
Окр. Производства настройка есть,
Веб-сервер Apache в качестве переднего слоя
Apache Tomcat 6.0 в качестве сервера приложений (нравится с веб-сервером Apache через mod_jk)
У меня есть пользовательский RPC-компонент на основе Ajax, в котором мы используем jQuery для вызова ajax. Данные передаются методом POST.
Данные на стороне клиента (объекты javascript) отправляются на сервер в формате JSON, а на стороне сервера они десериализуются в объекты java.
вызов RPC выполняется путем предоставления следующей информации,
var jsonParamObj = new Object();
jsonParamObj.param0 = objParam0;
var params = new Object();
params.**jsontext**=**toJsonString**(jsonParamObj);
где jsontext содержит реальные данные для передачи. Я использую функцию javascript toJsonString, доступную как json-скрипт с открытым исходным кодом (ранее использовался JSON.stringify, но у меня была такая же проблема).
Ниже приведен вызов jQuery,
$.ajax({async:async,
data:params,
dataType:"json",
type:"POST",
url:this.ajaxAction+qs,
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
error:function (XMLHttpRequest, textStatus, errorThrown)
{
alert('Connectivity Issue : '+textStatus + ' Error : '+errorThrown + ' Response : '+XMLHttpRequest.responseText);
},
success:function(jsonobj){
if(jsonobj.JSON.ajaxSysError)
{
alert(jsonobj.JSON.ajaxSysError.message);
return;
}
// do other work
}
});
Теперь проблема иногда в том, что данные, отправленные в виде параметров, не доходят до сервера (не для Apache, а также для Tomcat). Я включил максимальный уровень многословия в журналах, однако, любые данные, которые он отправляет через строку запроса (см. qs ) достигает сервера.
Клиентский браузер IE 7 (Windows XP Media Edition).
Можете ли вы высказать некоторые мысли, которые помогут мне в устранении этой проблемы.
Спасибо за чтение этого длинного вопроса.
Jatan