При хранении передаваемого параметра в блоке <div>, перед передачей значения параметра в HTTP-запрос, его необходимо предварительно очистить от пробелов в начале и в конце.
<div id="param" style="display:none">
<%=param %>
</div>
<script type="text/javascript">
param=$('#param').html();
alert(param.length);
param = param.replace(/\s/g,"");
alert(param.length);
$.post("/data", { param: param } );
</script>
Общее количество символов значения параметра искажено, так как учитывается перенос строк в HTML-коде. К искажению не приводит следующий HTML-код:
<div id="param" style="display:none"><%=param %></div>