關於頁面自動提交兩次的問題(360瀏覽器)

本文轉載自:http://blog.csdn.net/wcj1981/article/details/3912313

這幾天在寫一個功能模塊,就是用戶根據自己的查詢條件導出excel數據。

自從程序寫到提交查詢表單到servlet導出excel這段後,基本被卡住了,不知道爲什麼總是老自動提交兩次表單,而且第二次提交的表單默認的情況下傳過去的是空值,也就是你自己選擇的條件無效。這點差點讓我崩潰,NND,在網上搜了一天資料居然一點線索都沒有,最後在我的代碼中實在找不出問題了,於是把錯誤轉向了瀏覽器,果不其然是瀏覽器的問題,由於我設置了360是我的默認瀏覽器,每次調用瀏覽器的時候都調用的是它,但是360瀏覽器有個超級變態的功能,就是當你提交表單到服務器的時候,它會自動的“幫助”你提交一次,而且是帶着空值的,結果程序在運算的時候,用第二次的表單值覆蓋了前一次的表單值,查詢完全失效。

這次算是一個教訓,媽的,開發東西的時候還是老老實實的用些原始的東西,不用這些爛玩意了。

 

下面是本人遇到的同樣的問題:

我需要做一個客戶端下載統計,目的是統計我的客戶端軟件被下載了多少次,結果360極速瀏覽器重複提交了兩次請求,導致我的統計信息不準確。

360極速瀏覽器重複提交兩次請求

 

兩次請求使用的User-Agent還不一樣:

第一次用的是
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; MS-RTC LM 8; InfoPath.2; .NET4.0C;
第二次用的是
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1 360EE

我使用的兩個版本都存在這個問題

開始使用的是4.2.0.516

360極速瀏覽器4.2

後來使用5.1.0.420

360極速瀏覽器5.1

後來經過仔細分析,得出了重現這一bug的方法:重定向的目標如果是網頁,則一切正常,如果重定向的目標爲非網頁類型的內容就會提交兩次。上文中那位仁兄要得到的是excel,我這邊要得到的是apk(安卓系統應用程序安裝文件),都不是網頁類型的內容,因此都遇到了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章