今天遇到修改密码时不时不成功的问题。测试了很久,貌似无规律,有时可以修改,有时不可以,时常提示原密码错误,而实际正确,但数据库密码却已被修改。
反复查看代码逻辑,反复比对,着实看不出异常。
后发现,火狐可次次正常修改密码,但IE11时常出问题。进一步观察web日志,发现每次IE访问时,都POST两次,于是明白原因了。
修改密码时,需要js校验,于是为按钮绑定了事件检测,合格则返回true。此时IE会提交两次。
处理方法,将提交按钮的type由submit转换为button。并使用jq的submit()方法提交。