用URL传值的浏览器最大长度限制 |
您所在的位置:网站首页 › router传参有大小限制 › 用URL传值的浏览器最大长度限制 |
用URL传值的浏览器最大长度限制
1:问题描述:画面上是有一个table,table上表示了有很多文件的。用户可以操作选择表格中一条,或者多条,然后点击画面上的一个下载button。 如果是分别一条一条的下载没有问题,用firefox一次下载多条也没有问题;但是如果用IE9的一次性下载多条的话,就会出错。
2:原因:经过调查发现是从当前页面网download画面传值的时候,所有的文件名都是用URL传递的,用submit方法一次提交到后台。 所以考虑是不是因为URL长度不够,上网调查之后,下面是一位同学调查的结果,直接拿过来用。还有网友说是URL的长度是由浏览器和web服务器 共同限定的。 Microsoft Internet Explorer (Browser) IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。 Firefox (Browser) 对于Firefox浏览器URL的长度限制为65,536个字符,但当我测试时,最大只能处理8182个字符,这是因为url的长度除了浏览器限制外,还会受Web服务器的限制。 Safari (Browser) URL最大长度限制为 80,000个字符。 Opera (Browser) URL最大长度限制为190,000个字符。 Google (chrome) url长度一旦超过8182个字符时。
3:解决方法: 用submit的post方法,然后根据传递的值,动态的添加hidden元素。把传递参数的值赋给hidden。 因为是用post请求的话,hidden的值是存放在header中。而不是通过url传递的。post请求传递的长度只和web服务器有关,和浏览器无关。 4:下面是添加和删除画面元素的代码,仅供参考 添加: var input = document.createElement( 'input' ); input.setAttribute( 'type' , 'hidden' ); input.setAttribute( 'name' , '参数名' ) input.setAttribute( 'value' , ‘参数值’ ); form.appendChild( input ); 删除: var inputAry = document.getElementsByName("selectFiles"); var inputCnt = inputAry.length; if (inputCnt > 0){ for (var i=0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |