Я использую YUI 2.6 с веб-приложением Java Struts 1.2.
У меня периодически возникает проблема с POST asyncRequest
.Некоторые из запросов, которые получает сервер, не имеют никаких параметров.
В большинстве случаев он работает нормально.Это очень трудно воспроизвести, и это происходит только с нашими клиентскими машинами.Мы не смогли воспроизвести в нашей среде.Я потратил довольно много времени, чтобы найти причину.
Веб-браузеры IE 7, 8 или 9. Буду признателен за любую помощь.
Я просмотрел этот блог , но не помог, потому что я регистрировал некоторые частизапросы и параметры, в которых заголовок типа контента правильно поступал на сервер.
Код:
new AjaxWrapper().asyncRequest( "<%=request.getContextPath()%>" + "/ajax/setValues.do",
{
numberCheck: numberCheck,
documentId: docBean.documentId,
values: JSON.stringify( valueMap ),
applyToF: applyToFCheckbox.checked,
codeExternalF: (applyToFCheckbox.checked && codeExternalF.checked),
applyToN: applyToNCheckbox.checked,
codeExternalN: (applyToNCheckbox.checked && codeExternalN.checked)
},
{
success: function( messageBeanJsonList, response, argument ) {
// some code here
},
failure: function( messages ) {
// some code here
},
after: function( messageBeanJsonList, response, argument ) {
// some code here
},
argument: { codingPanel: mainCodingPanel, changedValues: changedValues }
},
AjaxWrapper.Methods.Post
);
Метод кодирования параметров:
_encodeParameters: function(parameters) {
var params = new Array();
if (parameters) {
for(var name in parameters) {
if (YAHOO.lang.isArray(parameters[name])) {
for(var i=0; i<parameters[name].length; i++) {
params.push(encodeURIComponent(name) + "=" + encodeURIComponent(parameters[name][i]));
}
}
else {
params.push(encodeURIComponent(name) + "=" + encodeURIComponent(parameters[name]));
}
}
}
return params.join("&");
}