先說一下今天遇到的問題
一個導出excel的處理,按鈕按下後需要傳很大一個資料到後台,剛開始的做法如下:
上面的data就是一個很長的字串。
這樣在火狐和Google瀏覽器都是沒有問題的,但是在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
程式碼如下: