避免客户将表单反复递交的方式汇总

表单反复递交是在多客户Web运用中最多见、带来许多不便的1个难题。有许多的运用情景都会遇到反复递交难题,例如:

点一下递交按钮两次。 点一下更新按钮。 应用访问器后退按钮反复以前的实际操作,致使反复递交表单。 应用访问器历史时间纪录反复递交表单。 访问赏识复的HTTP恳求。

  几种避免表单反复递交的方式

  1.禁掉递交按钮。表单递交后应用Javascript使递交按钮disable。这类方式避免着急的客户数次点一下按钮。但有个难题,假如顾客端把Javascript给严禁掉,这类方式就失效了。

  我以前的文章内容曾说过用1些Jquery软件实际效果非常好。

  2.Post/Redirect/Get方式。在递交后实行网页页面重定项,这便是所谓的Post-Redirect-Get (PRG)方式。简言之,当客户递交了表单后,你去实行1个顾客端重定项,转到递交取得成功信息内容网页页面。

  这能防止客户按F5致使的反复递交,而其也不容易出現访问器表单反复递交的警示,也能清除按访问器前行和后退按致使的一样难题。

  3.在session中储放1个独特标示。当表单网页页面被恳求时,转化成1个独特的标识符标示串,存在session中,另外放在表单的掩藏域里。接纳解决表奇数据时,查验标志字串是不是存在,并马上从session中删掉它,随后一切正常解决数据信息。

  假如发现表单递交里沒有合理的标示串,这表明表单早已被递交过了,忽视这次递交。

  这使你的web运用有了更高級的XSRF维护。

  4.在数据信息库里加上管束。在数据信息库里加上唯1管束或建立唯1数据库索引,避免出現反复数据信息。这是最合理的避免反复递交数据信息的方式。

以上便是这4种方式的详细介绍了,小伙子伴们假如有更好的处理方式,也请告知,本文将不断升级。