window.location.href中url中数据量太大时的解决方法
2013-12-23 00:00
525 查看
先说一下今天遇到的问题
一个导出excel的处理,在按钮按下后需要传很大一个数据到后台,刚开始的做法如下:
上面的data就是一个很长的字符串。
这样在火狐和谷歌浏览器都是没有问题的,但是在ie9(其他ie没试,应该同理)就不能正常导出
导致这个问题的原因是各种浏览器对URL解析的长度限制是不同的,ie就是最小的那个,所以出问题了
Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
Firefox (Browser)
对于Firefox浏览器URL的长度限制为65,536个字符
Safari (Browser)
URL最大长度限制为 80,000个字符。
Opera (Browser)
URL最大长度限制为190,000个字符。
Google (chrome)
url最大长度限制为8182个字符
这里还要注意的是WEB服务器对URL的长度也有限制!!
因此不能用Get方法了,只能想办法用post传值,从而有了下面的方案,不知妥否,还请高手指点,总之功能是可以实现了
思路是用post把那个长长的字符串传到后台,保存到session中,在post的回调方法中再用window.location.href
代码如下:
一个导出excel的处理,在按钮按下后需要传很大一个数据到后台,刚开始的做法如下:
var actionUrlSetData = "****Action!exportDatas.action"+ "?now=" + new Date().getTime(); window.location.href= actionUrl + "&" + data;
上面的data就是一个很长的字符串。
这样在火狐和谷歌浏览器都是没有问题的,但是在ie9(其他ie没试,应该同理)就不能正常导出
导致这个问题的原因是各种浏览器对URL解析的长度限制是不同的,ie就是最小的那个,所以出问题了
Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
Firefox (Browser)
对于Firefox浏览器URL的长度限制为65,536个字符
Safari (Browser)
URL最大长度限制为 80,000个字符。
Opera (Browser)
URL最大长度限制为190,000个字符。
Google (chrome)
url最大长度限制为8182个字符
这里还要注意的是WEB服务器对URL的长度也有限制!!
因此不能用Get方法了,只能想办法用post传值,从而有了下面的方案,不知妥否,还请高手指点,总之功能是可以实现了
思路是用post把那个长长的字符串传到后台,保存到session中,在post的回调方法中再用window.location.href
代码如下:
$.post(actionUrlSetData,mapList ,function(){ var actionUrl = path + "/***action!exportDatas.action"+ "?now=" + new Date().getTime(); window.location.href= actionUrl + "&" + (data); });
相关文章推荐
- window.location.href中url中数据量太大时的解决方法
- ie6下 js 操作 window.location.href 不跳转 的解决方法
- springMVC框架在js中使用window.location.href请求url时IE不兼容问题解决
- IE6浏览器中window.location.href无效的解决方法
- window.location.href 在IE不跳转的解决方法
- window.location.href跳转失败解决方法
- 中文乱码问题--window.location.href url含中文服务器收到乱码问题解决
- springMVC框架在js中使用window.location.href请求url时IE不兼容问题解决
- 关于火狐的中 javascript 的 window.parent.closeBox();window.parent.location.href='../User.aspx'; 出现 对话框的解决方法
- js获取当前页的URL与window.location.href简单方法
- IE下 window.location.href 跳转失效的解决方法
- 解决window.location.href下载apk文件会自动转换成zip文件方法
- window.location.href=传值的中文乱码解决方法
- 中文乱码问题--window.location.href url含中文服务器收到乱码问题解决
- IE6 中 window.location.href 不能跳转 以及关于a标签点击返回顶部的解决方法
- window.location.href=document.URL解决window.location.reload()的缺陷
- 关于Android WebView不支持window.location.href的解决方法
- window.location.href不转跳的解决方法 与a标签空链接有关
- IE6浏览器中window.location.href无效的解决方法