$('form').on('submit', function(submitEvent)
{
$('table[id*=OtherOptions] :input').attr('disabled', false);
$('#collapsiblePanel :input').attr('disabled', false);
if (preventSubmit)
{
submitEvent.preventDefault();
populateDateValues();
populateContextFilterValues();
if($.browser.msie)
{
$('#collapsiblePanelHiddenValues').val(JSON.stringify(collapsiblePanelObj));
}
var form = $(this);
var formInput = decodeURIComponent(form.serialize());
$.getJSON('ValidateParams', formInput, function(data)
{
// Some more code here...
在上面的代码中,我正在使用表单数据对struts2操作进行验证调用,但是如果某个表单字段包含#或%作为值,那么在服务器端获取请求参数时,这些特殊字符后面的所有参数都会执行没有进入请求参数映射。
上述问题可以解决什么问题?
答案 0 :(得分:0)
我能够通过不调用decodeURIComponent并仅将序列化表单数据发送到服务器端来解决问题,其中编码数据由struts2自动解码。