Problemas com Form.serialize no Ajax - Codificação de caracteres
Bom dia, estou tendo problemas ao fazer uma chamada Ajax em minha página JSP, tenho o seguinte código:
function submitAjax(url, formName, tagUrl, mostraCarregando, limpaMsg) {
// Mudando o cursor do mouse em modo de espera
window.document.body.style.cursor = 'wait';
if(mostraCarregando == null){
mostraCarregando = true;
}
var params;
if(url.indexOf('?') >= 0) {
url += '&dummy=' + getRandom() + '_' + getCurrentTime();
}
if(mostraCarregando){
$(tagUrl).innerHTML='<h1><img src=images/icon_loading.gif> Carregando ...</h1>' + $(tagUrl).innerHTML;
}
tagGeral = tagUrl;
limparMensagemAjax = limpaMsg;
params = Form.serialize(formName);
new Ajax.Updater({success: tagUrl}, url, {method: 'post', parameters: params, onComplete:processaErro, evalScripts: true});
}
Quando executo este trecho de código params = Form.serialize(formName), na variável params ficam os seguintes valores:
"acao=incluir&codContrato=2192&codOrgaoParticipanteCon=3&codOrgaoParticipante=3&diaPagto=4&listaDtPrev=04%252F02%252F2012&listaDtPrev=04%252F03%252F2012&listaDtPrev=04%252F04%252F2012&listaDtPrev=04%252F05%252F2012&listaDtPrev=04%252F06%252F2012&listaDtPrev=04%252F07%252F2012&listaDtPrev=04%252F08%252F2012&listaDtPrev=04%252F09%252F2012&listaDtPrev=04%252F10%252F2012&listaDtPrev=04%252F11%252F2012&listaDtPrev=04%252F12%252F2012&listaDtPrev=04%252F01%252F2013&listaDtPrev=04%252F02%252F2013&listaDtPrev=04%252F03%252F2013&listaDtPrev=04%252F04%252F2013&listaDtPrev=04%252F05%252F2013&listaDtPrev=04%252F06%252F2013&listaDtPrev=04%252F07%252F2013&listaDtPrev=04%252F08%252F2013&listaDtPrev=04%252F09%252F2013&listaDtPrev=04%252F10%252F2013&listaDtPrev=04%252F11%252F2013&listaDtPrev=04%252F12%252F2013&listaDtPrev=04%252F01%252F2014&listaDtPrev=04%252F02%252F2014&listaDtPrev=04%252F03%252F2014&listaDtPrev=04%252F04%252F2014&listaDtPrev=04%252F05%252F2014&listaDtPrev=04%252F06%252F2014&listaDtPrev=04%252F07%252F2014&listaDtPrev=04%252F08%252F2014&listaDtPrev=04%252F09%252F2014&listaDtPrev=04%252F10%252F2014&listaDtPrev=04%252F11%252F2014&listaDtPrev=04%252F12%252F2014&listaDtPrev=04%252F01%252F2015&listaDtPrev=04%252F02%252F2015&listaDtPrev=04%252F03%252F2015&listaDtPrev=04%252F04%252F2015&listaDtPrev=04%252F05%252F2015&listaDtPrev=04%252F06%252F2015&listaDtPrev=04%252F07%252F2015&listaDtPrev=04%252F08%252F2015&listaDtPrev=04%252F09%252F2015&listaDtPrev=04%252F10%252F2015&listaDtPrev=04%252F11%252F2015&listaDtPrev=04%252F12%252F2015&listaDtPrev=04%252F01%252F2016&valorPrevisto=112.531.688%252C98&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16&valorPrevisto=11.253%252C16"
Como podem ver, no lugar da vírgula está vindo esse código %252C e meu form está sendo populado com esses valores da forma que estão ai, por que acontece isso?
Meu projeto trabalha com ISO-8859-1, porém conferi no prototype.js e lá está configurado com UTF-8, o pior de tudo é que em outras partes do sistema está sendo usada a mesma função e não acontece esse problema com os caracteres.
Estou usando Struts 1.xx.
Discussão (0)
Carregando comentários...