window.location.href中url中數(shù)據(jù)量太大時(shí)的解決方法
先說(shuō)一下今天遇到的問(wèn)題
一個(gè)導(dǎo)出excel的處理,在按鈕按下后需要傳很大一個(gè)數(shù)據(jù)到后臺(tái),剛開(kāi)始的做法如下:
var actionUrlSetData = "****Action!exportDatas.action"+ "?now=" + new Date().getTime();
window.location.href= actionUrl + "&" + data;
上面的data就是一個(gè)很長(zhǎng)的字符串。
這樣在火狐和谷歌瀏覽器都是沒(méi)有問(wèn)題的,但是在ie9(其他ie沒(méi)試,應(yīng)該同理)就不能正常導(dǎo)出
導(dǎo)致這個(gè)問(wèn)題的原因是各種瀏覽器對(duì)URL解析的長(zhǎng)度限制是不同的,ie就是最小的那個(gè),所以出問(wèn)題了
Microsoft Internet Explorer (Browser)
IE瀏覽器對(duì)URL的最大限制為2083個(gè)字符,如果超過(guò)這個(gè)數(shù)字,提交按鈕沒(méi)有任何反應(yīng)。
Firefox (Browser)
對(duì)于Firefox瀏覽器URL的長(zhǎng)度限制為65,536個(gè)字符
Safari (Browser)
URL最大長(zhǎng)度限制為 80,000個(gè)字符。
Opera (Browser)
URL最大長(zhǎng)度限制為190,000個(gè)字符。
Google (chrome)
url最大長(zhǎng)度限制為8182個(gè)字符
這里還要注意的是WEB服務(wù)器對(duì)URL的長(zhǎng)度也有限制??!
因此不能用Get方法了,只能想辦法用post傳值,從而有了下面的方案,不知妥否,還請(qǐng)高手指點(diǎn),總之功能是可以實(shí)現(xiàn)了
思路是用post把那個(gè)長(zhǎng)長(zhǎng)的字符串傳到后臺(tái),保存到session中,在post的回調(diào)方法中再用window.location.href
代碼如下:
$.post(actionUrlSetData,mapList ,function(){
var actionUrl = path + "/***action!exportDatas.action"+ "?now=" + new Date().getTime();
window.location.href= actionUrl + "&" + (data);
});
- window.location和document.location的區(qū)別分析
- javascript 打開(kāi)頁(yè)面window.location和window.open的區(qū)別
- 關(guān)于js中window.location.href,location.href,parent.location.href,top.location.href的用法與區(qū)別
- window.location.hash 使用說(shuō)明
- javascript中的window.location.search方法簡(jiǎn)介
- window.navigate 與 window.location.href 的使用區(qū)別介紹
- window.location不跳轉(zhuǎn)的問(wèn)題解決方法
- JavaScript window.location對(duì)象
相關(guān)文章
BooStrap對(duì)導(dǎo)航條的改造實(shí)踐小結(jié)
這篇文章主要介紹了BooStrap對(duì)導(dǎo)航條的改造實(shí)踐小結(jié)的相關(guān)資料,本文分步驟介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09基于cornerstone.js的dicom醫(yī)學(xué)影像查看瀏覽功能
這篇文章主要介紹了基于cornerstone.js的dicom醫(yī)學(xué)影像查看瀏覽功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07TypeScript使用vscode監(jiān)視代碼編譯的過(guò)程
這篇文章主要介紹了TypeScript使用vscode監(jiān)視代碼編譯,使用tsc 文件名稱(chēng)可以將ts文件轉(zhuǎn)化為js文件,js文件可以引入在html文件中直接使用,需要的朋友可以參考下2021-12-12JS 日期與時(shí)間戮相互轉(zhuǎn)化的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇JS 日期與時(shí)間戮相互轉(zhuǎn)化的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06js如何判斷是否在iframe中及防止網(wǎng)頁(yè)被別站用iframe嵌套
本文主要介紹了js判斷是否在iframe中及防止網(wǎng)頁(yè)被別站用 iframe嵌套的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01學(xué)習(xí)JavaScript設(shè)計(jì)模式之裝飾者模式
這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的裝飾者模式,對(duì)JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下2016-01-01用js實(shí)現(xiàn)多域名不同文件的調(diào)用方法
用js實(shí)現(xiàn)多域名不同文件的調(diào)用方法...2007-01-01