用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<inputCnt; i++) {
         form.removeChild(inputAry[0]);
         }
    }

用URL传值的浏览器最大长度限制相关推荐

  1. 从输入一个URL地址到浏览器完成渲染的整个过程

    从输入一个URL地址到浏览器完成渲染的整个过程 1. 浏览器地址输入URL并回车 2. 浏览器查找当前URL是否存在缓存,并比较缓存是否过期 3. DNS解析URL对应的IP DNS解析实际上就是寻找 ...

  2. html截取url字段,Html中截取url参数 实现HTML间的url传值

    大家好: 今天遇到一个问题,页面全是html,url传值,竟然获取不到参数值: A.html //登录按钮 jQuery(function($) { $("#login").cli ...

  3. java url 传值乱码问题_java页面url传值中文乱码怎么办

    是不是有很多用户们都有遇到过java页面url传值中文乱码的问题呢?java页面url传值中文乱码怎么办?那么今天我们就跟爱站小编一起去看看具体的解决方法吧. 中文问题,是在应用中常常遇到的问题. 这 ...

  4. Flask带参URL传值的方法

    在Flask中编写链接URL比较容易,这里并不针对这些讨论,但URL中如果包含可变部分路由以及携带一些参数应该怎么做呢? 我们可以使用Flask模板提供的辅助函数url_for(),这里通过一个完整的 ...

  5. php 禁止浏览器直接访问网页_.php后缀的url地址在浏览器打开怎么不让他下载,而是访问...

    .php后缀的url地址在浏览器打开怎么不让他下载,而是访问 下面是代码 error_reporting(0); if($_GET['open']==1 && strpos($_SER ...

  6. 在win10本地开发springboot项目能上传图片,并能通过URL直接从浏览器访问,但是部署到服务器上后能上传文件,但是通过浏览器无法访问图片

    在win10本地开发springboot项目能上传图片,并能通过URL直接从浏览器访问,但是部署到服务器上后能上传文件,但是通过浏览器无法访问图片 1.首先springboot项目在Window和Li ...

  7. 通过URL传值在手机端打开一键导航

    通过URL传值在手机端打开一键导航 百度一键导航 接收url 然后在手机端调用百度地图导航,如果手机按装了百度地图 就会自动调起百度地图 这个功能我研究了好久 现在这个效果比较满意 借鉴了好多大佬的东 ...

  8. 页面之间url传值,传循环数据里的值成功传值成功接收(动态数据传值)

    参考 js页面之间传参方式集合 实现思想:window.location 涉及知识点:escape(),unescape(),split() 效果图及实现的代码(贴重点): 传值的页面(实战传参.ht ...

  9. js url传值中文乱码之解决之道

    因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格 在websphere 中使用的是url=encodeURI(encodeURI(url)); ...

  10. 网站视频解析 有的url资源放在浏览器能直接播放,有的却不行。

    1有的视频url放在浏览器地址栏,回车能直接播放 2.有的视频url却直接下载下来一个 很短暂的m3u8文件, 且不能播放 这时候把视频url放在 vlc 或者专门解析m3u8的网站上却能直接播放: ...

最新文章

  1. 论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
  2. U深度利用iso文件制作U盘启动盘
  3. win7优化设置_5项优化,至少提升20%!
  4. 软件测试测试 python_Python测试简介
  5. 地图点随机分布均匀_英国标准协会(BSI)推荐的三坐标测点分布策略
  6. Lazarus 日志工具 MultiLog
  7. 高效 遍历 算法_一文学会回溯算法解题技巧
  8. Linux之动态网页---搭建论坛
  9. Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so
  10. Atitit NER实体命名识别(Name Entity Recognition 目录 1.1. a. NER实体命名识别(Name Entity Recognition)   1 2. NER抽
  11. QT 透明 半透明 效果
  12. 城市轨道交通运营管理属于什么院系_城市轨道交通运营管理专业
  13. 利用神经网络识别12306验证码——(四)数据增广以及训练集、验证集的划分
  14. linux动态监控机制
  15. 简述基于CPU的机器码运行过程
  16. STM32MP157C-DK2->Develop on Arm® Cortex®-A7之 C语言开发uart例程
  17. Generating Images from Captions with Attention
  18. discuz X3.2最新20141225安装包uc_server不能登陆问题(包括升级后)
  19. winform 如何让 comboBox1 不能输入,只能下拉选择
  20. [noip2016]天天爱跑步

热门文章

  1. python博弈论代码_博弈论的算法总结
  2. 如何免费下载网易云收费音乐?不需会员也能做到
  3. 线性代数中(线代中)的克莱姆法则,又译克拉默法则(Cramer‘s Rule)
  4. 电脑qq浏览器怎么滚动截长图_电脑上如何滚动截屏长图?这样做最简单
  5. Leslie 模型预测
  6. ipv6电视直播Android,关于高校电视直播(ipv4ipv6)
  7. .gen地图文件的投影编程实现(以墨卡托投影和兰伯特投影为例)
  8. Android 阿里云热修复
  9. 济南遥墙机场停5天怎么收费,济南遥墙国际机场停车场收费标准
  10. win7便签backup