js 关于encodeURI编码问题,急!(有用到JQuery做ajax处理,程序是java开发的)
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去掉,就没什么问题了,不过后台得到的值是乱码啊。急!!
恳请各位大虾们帮帮小弟如何解决这个问题
------解决方案--------------------
各个浏览器GET方式提交参数时会有长度限制,所以用POST提交,但是你上面的不是真正的POST提交,参数不要写在路径后面!!!
* IE 的 URL 长度上限是 2083 字节,其中纯路径部分不能超过 2048 字符。
* Firefox 浏览器的地址栏中超过 65536 字符后就不再显示。
* Safari 浏览器一致测试到 80000 字符还工作得好好的。
* Opera 浏览器测试到 190000 字符的时候,还正常工作。