昨晚同学和我说网站有问题,具体问题在于网页在QQ自带浏览器里面打开和Safari浏览器打开,输入密码,会显示密码错误。然后就开始了默默排Bug之路。
定位问题
这个问题只在iPhone手机上会重现,电脑和安卓端都没问题。所以初步判断是浏览器内核的问题,因为Safari和其他浏览器不一样。并且在iPhone上的UC浏览器可以正常打开,更加坚信了是内核问题。
研究网页源代码,就一个很简单的<form>
标签。最后经过尝试,发现是action的的问题。我的<form>标签没有加action
属性。因为提交的网址就是当前网址,所以并没有加这个属性,但是在Safari浏览器上就会出现问题。
解决问题
在form标签加上了action属性后,经过测试,网站终于恢复正常了。
总结
- 出现这个问题,主要是我的粗心大意,没有按照标准走,导致出现了这个问题,应该检讨,也确实给我上了生动的一门课。
- 在之后改bug的时候,网址的最后没有放上去
/
,也会同样失败。所以估计是Safari浏览器确实post了,但是post的网址,是https://www.xxx.cn/xxxxx
,最后并没有加上/
,导致网站后台进行了一个post请求的跳转?在这个跳转过程中,参数就丢失了,所以无法进入正常的网页。 - 以后写代码一定要按照标准走,form要加action。
网友评论