js 关于encodeURI编码问题,急!(有用到JQuery做ajax处理,程序是java开发的)
(js文件中)代码片段如下:
var proCodes = document.getElementById("proCodes").value;
proCodes = encodeURI(proCodes);
var url = "selectBalanceName.action?proCodes="+proCodes;
$.post(url,null,function(data){
  if(data != null && data != ""){
    ...
  }
}问题:
当代码执行到“$.post(url,null,function(data){”时,js报错:未指明错误(程序还未进入后台代码,只是前端报错)。
“proCodes”变量是我从页面中获得的值,这个值大概是:例如“办公费@”“办公费@差旅费@”“办公费@差旅费@会议费@”...
有个情况是,这个变量内容少点程序正常,一旦很长的话,就报错,很奇怪。但是,把encodeURI去掉,就没什么问题了,不过后台得到的值是乱码啊。急!!恳请各位大虾们帮帮小弟如何解决这个问题

解决方案 »

  1.   

    各个浏览器GET方式提交参数时会有长度限制,所以用POST提交,但是你上面的不是真正的POST提交,参数不要写在路径后面!!!   
    * IE 的 URL 长度上限是 2083 字节,其中纯路径部分不能超过 2048 字符。 
        * Firefox 浏览器的地址栏中超过 65536 字符后就不再显示。 
        * Safari 浏览器一致测试到 80000 字符还工作得好好的。 
        * Opera 浏览器测试到 190000 字符的时候,还正常工作。