关于页面自动提交两次的问题(360浏览器)

来源:互联网 发布:数据保密性指的是 编辑:程序博客网 时间:2024/05/16 08:18

本文转载自: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(安卓系统应用程序安装文件),都不是网页类型的内容,因此都遇到了这个问题。

原创粉丝点击